Clean up some minor warnings
This commit is contained in:
parent
805befe40c
commit
f3b8ebf0be
17 changed files with 40 additions and 42 deletions
|
@ -1,7 +1,7 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
||||||
# Copyright (C) 2015-2020 Tobias Gruetzmacher
|
# Copyright (C) 2015-2022 Tobias Gruetzmacher
|
||||||
import argparse
|
import argparse
|
||||||
import contextlib
|
import contextlib
|
||||||
import os
|
import os
|
||||||
|
@ -139,15 +139,15 @@ def display_version(verbose):
|
||||||
# display update link
|
# display update link
|
||||||
text = ('A new version %(version)s of %(app)s is '
|
text = ('A new version %(version)s of %(app)s is '
|
||||||
'available at %(url)s.')
|
'available at %(url)s.')
|
||||||
attrs = dict(version=version, app=AppName,
|
attrs = {'version': version, 'app': AppName,
|
||||||
url=url, currentversion=__version__)
|
'url': url, 'currentversion': __version__}
|
||||||
print(text % attrs)
|
print(text % attrs)
|
||||||
else:
|
else:
|
||||||
if value is None:
|
if value is None:
|
||||||
value = 'invalid update file syntax'
|
value = 'invalid update file syntax'
|
||||||
text = ('An error occured while checking for an '
|
text = ('An error occured while checking for an '
|
||||||
'update of %(app)s: %(error)s.')
|
'update of %(app)s: %(error)s.')
|
||||||
attrs = dict(error=value, app=AppName)
|
attrs = {'error': value, 'app': AppName}
|
||||||
print(text % attrs)
|
print(text % attrs)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
|
@ -103,8 +103,8 @@ class Output(object):
|
||||||
def writelines(self, lines, level=0):
|
def writelines(self, lines, level=0):
|
||||||
"""Write multiple messages."""
|
"""Write multiple messages."""
|
||||||
for line in lines:
|
for line in lines:
|
||||||
for line in line.rstrip(u'\n').split(u'\n'):
|
for sline in line.rstrip(u'\n').split(u'\n'):
|
||||||
self.write(line.rstrip(u'\n'), level=level)
|
self.write(sline.rstrip(u'\n'), level=level)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def width(self):
|
def width(self):
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
||||||
# Copyright (C) 2015-2021 Tobias Gruetzmacher
|
# Copyright (C) 2015-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from re import compile, escape, MULTILINE
|
from re import compile, escape, MULTILINE
|
||||||
|
|
||||||
from ..util import tagre
|
from ..util import tagre
|
||||||
from ..scraper import _BasicScraper, _ParserScraper
|
from ..scraper import _BasicScraper, _ParserScraper
|
||||||
from ..helpers import regexNamer, bounceStarter, indirectStarter
|
from ..helpers import regexNamer, bounceStarter, indirectStarter
|
||||||
from .common import _WordPressScraper, _WPNavi, _WPNaviIn, _WPWebcomic
|
from .common import _WordPressScraper, _WPNavi, _WPWebcomic
|
||||||
|
|
||||||
|
|
||||||
class AbstruseGoose(_ParserScraper):
|
class AbstruseGoose(_ParserScraper):
|
||||||
|
|
|
@ -10,7 +10,6 @@ class Derideal(_ParserScraper):
|
||||||
imageSearch = '//img[contains(@class, "comic-page")]'
|
imageSearch = '//img[contains(@class, "comic-page")]'
|
||||||
prevSearch = '//a[i[contains(@class, "fa-angle-left")]]'
|
prevSearch = '//a[i[contains(@class, "fa-angle-left")]]'
|
||||||
latestSearch = '//a[i[contains(@class, "fa-angle-double-right")]]'
|
latestSearch = '//a[i[contains(@class, "fa-angle-double-right")]]'
|
||||||
starter = indirectStarter
|
|
||||||
|
|
||||||
def __init__(self, name, sub, first, last=None):
|
def __init__(self, name, sub, first, last=None):
|
||||||
if name == 'Derideal':
|
if name == 'Derideal':
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
||||||
# Copyright (C) 2015-2021 Tobias Gruetzmacher
|
# Copyright (C) 2015-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from re import compile, escape
|
from re import compile, escape
|
||||||
|
|
||||||
from ..scraper import _BasicScraper, _ParserScraper
|
from ..scraper import _BasicScraper, _ParserScraper
|
||||||
from ..helpers import bounceStarter, indirectStarter
|
from ..helpers import indirectStarter
|
||||||
from ..util import tagre
|
from ..util import tagre
|
||||||
from .common import _ComicControlScraper, _WordPressScraper, _WPNavi
|
from .common import _ComicControlScraper, _WordPressScraper, _WPNavi
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
||||||
# Copyright (C) 2015-2020 Tobias Gruetzmacher
|
# Copyright (C) 2015-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from re import compile, escape
|
from re import compile, escape
|
||||||
|
|
||||||
from ..helpers import indirectStarter
|
|
||||||
from ..scraper import _BasicScraper, _ParserScraper
|
from ..scraper import _BasicScraper, _ParserScraper
|
||||||
from ..util import tagre
|
from ..util import tagre
|
||||||
from .common import _WordPressScraper, _WPNavi, _WPWebcomic
|
from .common import _WordPressScraper, _WPNavi
|
||||||
|
|
||||||
|
|
||||||
class IAmArg(_BasicScraper):
|
class IAmArg(_BasicScraper):
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2019-2020 Tobias Gruetzmacher
|
# Copyright (C) 2019-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from ..scraper import _ParserScraper
|
from ..scraper import _ParserScraper
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ class KemonoCafe(_ParserScraper):
|
||||||
def namer(self, imageUrl, pageUrl):
|
def namer(self, imageUrl, pageUrl):
|
||||||
# Strip date from filenames
|
# Strip date from filenames
|
||||||
filename = imageUrl.rsplit('/', 1)[-1]
|
filename = imageUrl.rsplit('/', 1)[-1]
|
||||||
if not 'ultrarosa' in pageUrl:
|
if 'ultrarosa' not in pageUrl:
|
||||||
if filename[4] == '-' and filename[7] == '-':
|
if filename[4] == '-' and filename[7] == '-':
|
||||||
filename = filename[10:]
|
filename = filename[10:]
|
||||||
if filename[0] == '-' or filename[0] == '_':
|
if filename[0] == '-' or filename[0] == '_':
|
||||||
|
|
|
@ -86,7 +86,8 @@ class MangaDex(_ParserScraper):
|
||||||
|
|
||||||
def namer(self, imageUrl, pageUrl):
|
def namer(self, imageUrl, pageUrl):
|
||||||
# Construct filename from episode number and page index in array
|
# Construct filename from episode number and page index in array
|
||||||
chapterNum = self.chapter['attributes']['chapter'] if self.chapter['attributes']['chapter'] != None else 0
|
chapter = self.chapter['attributes']['chapter']
|
||||||
|
chapterNum = chapter if chapter is not None else 0
|
||||||
pageNum = self.imageUrls.index(imageUrl)
|
pageNum = self.imageUrls.index(imageUrl)
|
||||||
pageExt = imageUrl.rsplit('.')[-1]
|
pageExt = imageUrl.rsplit('.')[-1]
|
||||||
return '%s-%02d.%s' % (chapterNum, pageNum, pageExt)
|
return '%s-%02d.%s' % (chapterNum, pageNum, pageExt)
|
||||||
|
|
|
@ -49,11 +49,12 @@ class RickGriffinStudios(_WPNaviIn):
|
||||||
'ah-club-2-cover': 'ah-club-1-page-24',
|
'ah-club-2-cover': 'ah-club-1-page-24',
|
||||||
'ah-club-3-cover': 'ah-club-2-page-28',
|
'ah-club-3-cover': 'ah-club-2-page-28',
|
||||||
'ah-club-4-cover': 'ah-club-3-page-22',
|
'ah-club-4-cover': 'ah-club-3-page-22',
|
||||||
'ah-club-5-cover': 'ah-club-4-page-24'
|
'ah-club-5-cover': 'ah-club-4-page-24',
|
||||||
}),
|
}),
|
||||||
cls('HayvenCelestia', 'hayven-celestia', 'skinchange-p1'),
|
cls('HayvenCelestia', 'hayven-celestia', 'skinchange-p1'),
|
||||||
cls('TheStoryboard', 'the-storyboard', 'the-storyboard-001'),
|
cls('TheStoryboard', 'the-storyboard', 'the-storyboard-001'),
|
||||||
cls('TracesOfThePast', 'in-the-new-age', 'totp-page-1'),
|
cls('TracesOfThePast', 'in-the-new-age', 'totp-page-1'),
|
||||||
cls('TracesOfThePastNSFW', 'in-the-new-age', 'totp-page-1-nsfw', adult=True),
|
cls('TracesOfThePastNSFW', 'in-the-new-age', 'totp-page-1-nsfw', adult=True),
|
||||||
cls('ZootopiaNightTerrors', 'zootopia-night-terrors', 'zootopia-night-terrors-p1', 'zootopia-night-terrors-p7'),
|
cls('ZootopiaNightTerrors', 'zootopia-night-terrors',
|
||||||
|
'zootopia-night-terrors-p1', 'zootopia-night-terrors-p7'),
|
||||||
)
|
)
|
||||||
|
|
|
@ -6,12 +6,10 @@
|
||||||
from re import compile, escape, IGNORECASE, sub
|
from re import compile, escape, IGNORECASE, sub
|
||||||
from os.path import splitext
|
from os.path import splitext
|
||||||
|
|
||||||
from requests.exceptions import HTTPError
|
|
||||||
|
|
||||||
from ..scraper import _BasicScraper, _ParserScraper
|
from ..scraper import _BasicScraper, _ParserScraper
|
||||||
from ..helpers import indirectStarter, bounceStarter, joinPathPartsNamer
|
from ..helpers import indirectStarter, bounceStarter, joinPathPartsNamer
|
||||||
from ..util import tagre
|
from ..util import tagre
|
||||||
from .common import _ComicControlScraper, _WordPressScraper, _WPNavi, _WPNaviIn, _WPWebcomic
|
from .common import _ComicControlScraper, _WordPressScraper, _WPNavi, _WPWebcomic
|
||||||
|
|
||||||
|
|
||||||
class SabrinaOnline(_BasicScraper):
|
class SabrinaOnline(_BasicScraper):
|
||||||
|
@ -313,7 +311,7 @@ class SMBC(_ComicControlScraper):
|
||||||
url = 'https://www.smbc-comics.com/'
|
url = 'https://www.smbc-comics.com/'
|
||||||
stripUrl = url + 'comic/%s'
|
stripUrl = url + 'comic/%s'
|
||||||
firstStripUrl = stripUrl % '2002-09-05'
|
firstStripUrl = stripUrl % '2002-09-05'
|
||||||
imageSearch = ['//img[@id="cc-comic"]', '//div[@id="aftercomic"]/img']
|
imageSearch = ('//img[@id="cc-comic"]', '//div[@id="aftercomic"]/img')
|
||||||
textSearch = '//img[@id="cc-comic"]/@title'
|
textSearch = '//img[@id="cc-comic"]/@title'
|
||||||
multipleImagesPerStrip = True
|
multipleImagesPerStrip = True
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
||||||
# Copyright (C) 2015-2020 Tobias Gruetzmacher
|
# Copyright (C) 2015-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from re import compile, escape, MULTILINE
|
from re import compile, escape, MULTILINE
|
||||||
try:
|
try:
|
||||||
|
@ -12,7 +12,7 @@ except ImportError:
|
||||||
from ..scraper import _BasicScraper, _ParserScraper
|
from ..scraper import _BasicScraper, _ParserScraper
|
||||||
from ..helpers import indirectStarter
|
from ..helpers import indirectStarter
|
||||||
from ..util import tagre
|
from ..util import tagre
|
||||||
from .common import _ComicControlScraper, _WordPressScraper, _WPNavi, _WPNaviIn, _WPWebcomic
|
from .common import _ComicControlScraper, _WordPressScraper, _WPNavi, _WPWebcomic
|
||||||
|
|
||||||
|
|
||||||
class TailsAndTactics(_ParserScraper):
|
class TailsAndTactics(_ParserScraper):
|
||||||
|
@ -53,6 +53,7 @@ class TheBrads(_ParserScraper):
|
||||||
multipleImagesPerStrip = True
|
multipleImagesPerStrip = True
|
||||||
endOfLife = True
|
endOfLife = True
|
||||||
|
|
||||||
|
|
||||||
class TheChroniclesOfHuxcyn(_WordPressScraper):
|
class TheChroniclesOfHuxcyn(_WordPressScraper):
|
||||||
url = 'https://huxcyn.com/'
|
url = 'https://huxcyn.com/'
|
||||||
stripUrl = url + 'comic/%s'
|
stripUrl = url + 'comic/%s'
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2019-2020 Tobias Gruetzmacher
|
# Copyright (C) 2019-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from ..scraper import _ParserScraper
|
from ..scraper import _ParserScraper
|
||||||
from ..helpers import indirectStarter
|
|
||||||
|
|
||||||
|
|
||||||
class Tapastic(_ParserScraper):
|
class Tapastic(_ParserScraper):
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
||||||
# Copyright (C) 2015-2020 Tobias Gruetzmacher
|
# Copyright (C) 2015-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from re import compile, escape, IGNORECASE
|
from re import compile, escape, IGNORECASE
|
||||||
|
|
||||||
from ..scraper import _BasicScraper, _ParserScraper
|
from ..scraper import _BasicScraper, _ParserScraper
|
||||||
from ..util import tagre
|
from ..util import tagre
|
||||||
from ..helpers import bounceStarter
|
from ..helpers import bounceStarter
|
||||||
from .common import _ComicControlScraper, _WPNavi, _WPNaviIn, _WPWebcomic
|
from .common import _ComicControlScraper, _WPNaviIn, _WPWebcomic
|
||||||
|
|
||||||
|
|
||||||
class WapsiSquare(_WPNaviIn):
|
class WapsiSquare(_WPNaviIn):
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
||||||
# Copyright (C) 2012-2014 Bastian Kleineidam
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
||||||
# Copyright (C) 2015-2020 Tobias Gruetzmacher
|
# Copyright (C) 2015-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
from .common import _WordPressScraper, _WPWebcomic
|
from .common import _WordPressScraper, _WPWebcomic
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ class YAFGC(_WordPressScraper):
|
||||||
super().__init__(name)
|
super().__init__(name)
|
||||||
self.session.add_throttle('www.yafgc.net', 3.0, 15.5)
|
self.session.add_throttle('www.yafgc.net', 3.0, 15.5)
|
||||||
|
|
||||||
|
|
||||||
class YoshSaga(_WPWebcomic):
|
class YoshSaga(_WPWebcomic):
|
||||||
url = 'https://www.yoshsaga.com/'
|
url = 'https://www.yoshsaga.com/'
|
||||||
stripUrl = url + 'comic/%s/'
|
stripUrl = url + 'comic/%s/'
|
||||||
|
|
|
@ -118,14 +118,14 @@ def tagre(tag, attribute, value, quote='"', before="", after=""):
|
||||||
prefix = r"[^>]*%s[^>]*\s+" % before
|
prefix = r"[^>]*%s[^>]*\s+" % before
|
||||||
else:
|
else:
|
||||||
prefix = r"(?:[^>]*\s+)?"
|
prefix = r"(?:[^>]*\s+)?"
|
||||||
attrs = dict(
|
attrs = {
|
||||||
tag=case_insensitive_re(tag),
|
'tag': case_insensitive_re(tag),
|
||||||
attribute=case_insensitive_re(attribute),
|
'attribute': case_insensitive_re(attribute),
|
||||||
value=value,
|
'value': value,
|
||||||
quote=quote,
|
'quote': quote,
|
||||||
prefix=prefix,
|
'prefix': prefix,
|
||||||
after=after,
|
'after': after,
|
||||||
)
|
}
|
||||||
return (r'<\s*%(tag)s\s+%(prefix)s' +
|
return (r'<\s*%(tag)s\s+%(prefix)s' +
|
||||||
r'%(attribute)s\s*=\s*%(quote)s%(value)s%(quote)' +
|
r'%(attribute)s\s*=\s*%(quote)s%(value)s%(quote)' +
|
||||||
r's[^>]*%(after)s[^>]*>') % attrs
|
r's[^>]*%(after)s[^>]*>') % attrs
|
||||||
|
@ -308,7 +308,7 @@ at %(url)s and include at least the information below:
|
||||||
Not disclosing some of the information below due to privacy reasons is ok.
|
Not disclosing some of the information below due to privacy reasons is ok.
|
||||||
I will try to help you nonetheless, but you have to give me something
|
I will try to help you nonetheless, but you have to give me something
|
||||||
I can work with ;) .
|
I can work with ;) .
|
||||||
""" % dict(app=AppName, url=SupportUrl), file=out)
|
""" % {'app': AppName, 'url': SupportUrl}, file=out)
|
||||||
if etype is None:
|
if etype is None:
|
||||||
etype = sys.exc_info()[0]
|
etype = sys.exc_info()[0]
|
||||||
if evalue is None:
|
if evalue is None:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
# Copyright (C) 2019-2020 Tobias Gruetzmacher
|
# Copyright (C) 2019-2022 Tobias Gruetzmacher
|
||||||
# Copyright (C) 2019-2020 Daniel Ring
|
# Copyright (C) 2019-2020 Daniel Ring
|
||||||
"""
|
"""
|
||||||
Script to get a list of Tapastic comics and save the info in a
|
Script to get a list of Tapastic comics and save the info in a
|
||||||
|
@ -9,7 +9,6 @@ JSON file for further processing.
|
||||||
from urllib.parse import urlsplit, parse_qs
|
from urllib.parse import urlsplit, parse_qs
|
||||||
|
|
||||||
from scriptutil import ComicListUpdater
|
from scriptutil import ComicListUpdater
|
||||||
from dosagelib.util import check_robotstxt
|
|
||||||
|
|
||||||
|
|
||||||
class TapasticUpdater(ComicListUpdater):
|
class TapasticUpdater(ComicListUpdater):
|
||||||
|
|
|
@ -52,6 +52,6 @@ class LoadModScheduling(LoadScopeScheduling):
|
||||||
return mod + "::" + test.split("/", 1)[0]
|
return mod + "::" + test.split("/", 1)[0]
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.trylast
|
@pytest.mark.trylast()
|
||||||
def pytest_xdist_make_scheduler(config, log):
|
def pytest_xdist_make_scheduler(config, log):
|
||||||
return LoadModScheduling(config, log)
|
return LoadModScheduling(config, log)
|
||||||
|
|
Loading…
Reference in a new issue