jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/783860 )
Change subject: [IMPR] make debug layer optional ......................................................................
[IMPR] make debug layer optional
Remove layer strings out of the framework (Make logging interface more consistent)
Bug: T85620 Change-Id: If685e8610b6fa09f7dbd17d819ccb20cdc6dd317 --- M pywikibot/__init__.py M pywikibot/bot.py M pywikibot/comms/eventstreams.py M pywikibot/comms/http.py M pywikibot/data/api.py M pywikibot/logentries.py M pywikibot/logging.py M pywikibot/login.py M pywikibot/page/_wikibase.py M pywikibot/pagegenerators.py M pywikibot/proofreadpage.py M pywikibot/site/_apisite.py M pywikibot/site/_datasite.py M pywikibot/site/_generators.py M pywikibot/site/_siteinfo.py M pywikibot/site/_tokenwallet.py M pywikibot/site/_upload.py M pywikibot/textlib.py M pywikibot/throttle.py M pywikibot/tools/__init__.py M pywikibot/version.py M scripts/patrol.py M tests/ui_tests.py 23 files changed, 78 insertions(+), 164 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py index d9ed711..54780d2 100644 --- a/pywikibot/__init__.py +++ b/pywikibot/__init__.py @@ -1152,8 +1152,6 @@ :raises ValueError: Missing Site code :raises ValueError: Missing Site family """ - _logger = 'wiki' - if url: # Either code and fam or url with optional fam for AutoFamily name if code: @@ -1207,7 +1205,7 @@ if key not in _sites or not isinstance(_sites[key], interface): _sites[key] = interface(code=code, fam=fam, user=user) debug("Instantiated {} object '{}'" - .format(interface.__name__, _sites[key]), _logger) + .format(interface.__name__, _sites[key]))
if _sites[key].code != code: warn('Site {} instantiated using different code "{}"' @@ -1282,9 +1280,7 @@ Wait for the page-putter to flush its queue. Also drop this process from the throttle log. Called automatically at Python exit. """ - _logger = 'wiki' - - debug('_flush() called', _logger) + debug('_flush() called')
def remaining() -> Tuple[int, datetime.timedelta]: remainingPages = page_put_queue.qsize() diff --git a/pywikibot/bot.py b/pywikibot/bot.py index 7401883..67915d5 100644 --- a/pywikibot/bot.py +++ b/pywikibot/bot.py @@ -190,9 +190,6 @@ ] PageLinkType = Union['pywikibot.page.Link', 'pywikibot.page.Page']
-# Note: all output goes through python std library "logging" module -_logger = 'bot' - ui = None # type: Optional[pywikibot.userinterfaces._interface_base.ABUIC]
@@ -977,7 +974,7 @@ show_help(show_global=do_help_val == 'global') sys.exit(0)
- debug('handle_args() completed.', _logger) + debug('handle_args() completed.') return non_global_args
diff --git a/pywikibot/comms/eventstreams.py b/pywikibot/comms/eventstreams.py index a984370..1c82bc9 100644 --- a/pywikibot/comms/eventstreams.py +++ b/pywikibot/comms/eventstreams.py @@ -38,9 +38,6 @@ "install it with 'pip install "requests>=2.20.1"'\n")
-_logger = 'pywikibot.eventstreams' - - class EventStreams:
"""Basic EventStreams iterator class for Server-Sent Events (SSE) protocol. @@ -171,7 +168,7 @@ if value is not None: self._total = int(value) debug('{}: Set limit (maximum_items) to {}.' - .format(self.__class__.__name__, self._total), _logger) + .format(self.__class__.__name__, self._total))
def register_filter(self, *args, **kwargs): """Register a filter. @@ -322,7 +319,7 @@ warning('Unknown event {} occurred.'.format(event.event))
debug('{}: Stopped iterating due to exceeding item limit.' - .format(self.__class__.__name__), _logger) + .format(self.__class__.__name__)) del self.source
diff --git a/pywikibot/comms/http.py b/pywikibot/comms/http.py index 84eb68f..fb4b8fa 100644 --- a/pywikibot/comms/http.py +++ b/pywikibot/comms/http.py @@ -61,17 +61,15 @@ # 'certificate verify failed' is a commonly detectable string SSL_CERT_VERIFY_FAILED_MSG = 'certificate verify failed'
-_logger = 'comms.http' - cookie_file_path = config.datafilepath('pywikibot.lwp') file_mode_checker(cookie_file_path, create=True) cookie_jar = cookiejar.LWPCookieJar(cookie_file_path) try: cookie_jar.load(ignore_discard=True) except cookiejar.LoadError: - debug('Loading cookies failed.', _logger) + debug('Loading cookies failed.') else: - debug('Loaded cookies from file.', _logger) + debug('Loaded cookies from file.')
session = requests.Session() session.cookies = cookie_jar diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py index cc1183b..2a75e93 100644 --- a/pywikibot/data/api.py +++ b/pywikibot/data/api.py @@ -44,8 +44,6 @@ from pywikibot.tools import PYTHON_VERSION, itergroup
-_logger = 'data.api' - lagpattern = re.compile( r'Waiting for [\w.: ]+: (?P<lag>\d+(?:.\d+)?) seconds? lagged')
@@ -311,13 +309,13 @@ # number of modules that may be processed in a single batch. for module_batch in module_generator(): if self.modules_only_mode and 'pageset' in module_batch: - pywikibot.debug('paraminfo fetch: removed pageset', _logger) + pywikibot.debug('paraminfo fetch: removed pageset') module_batch.remove('pageset') # If this occurred during initialisation, # also record it in the preloaded_modules. # (at least so tests know an extra load was intentional) if 'query' not in self._paraminfo: - pywikibot.debug('paraminfo batch: added query', _logger) + pywikibot.debug('paraminfo batch: added query') module_batch.append('query') self.preloaded_modules |= {'query'}
@@ -1052,7 +1050,7 @@
# Make sure user is logged in if self.write: - pywikibot.debug('Adding user assertion', _logger) + pywikibot.debug('Adding user assertion') self['assert'] = 'user'
@classmethod @@ -1477,8 +1475,7 @@
pywikibot.debug('API request to {} (uses get: {}):\n' 'Headers: {!r}\nURI: {!r}\nBody: {!r}' - .format(self.site, use_get, headers, uri, body), - _logger) + .format(self.site, use_get, headers, uri, body)) return use_get, uri, body, headers
def _http_request(self, use_get: bool, uri: str, data, headers, @@ -1545,7 +1542,7 @@ # Do not retry for AutoFamily but raise a SiteDefinitionError # Note: family.AutoFamily is a function to create that class if self.site.family.__class__.__name__ == 'AutoFamily': - pywikibot.debug(msg, _logger) + pywikibot.debug(msg) raise SiteDefinitionError('Invalid AutoFamily({!r})' .format(self.site.family.domain))
@@ -2050,7 +2047,7 @@ return False pywikibot.debug('{}: cache hit ({}) for API request: {}' .format(self.__class__.__name__, filename, - uniquedescr), _logger) + uniquedescr)) return True except OSError: # file not found @@ -2154,8 +2151,7 @@ self.query_increment = int(value) self.request[self.limit_name] = self.query_increment pywikibot.debug('{}: Set query_increment to {}.' - .format(self.__class__.__name__, - self.query_increment), _logger) + .format(type(self).__name__, self.query_increment))
def set_maximum_items(self, value: Union[int, str, None]) -> None: """ @@ -2172,11 +2168,9 @@ if self.query_increment and self.limit < self.query_increment: self.request[self.limit_name] = self.limit pywikibot.debug('{}: Set request item limit to {}' - .format(self.__class__.__name__, self.limit), - _logger) + .format(type(self).__name__, self.limit)) pywikibot.debug('{}: Set limit (maximum_items) to {}.' - .format(self.__class__.__name__, self.limit), - _logger) + .format(type(self).__name__, self.limit))
def __iter__(self): """ @@ -2189,28 +2183,25 @@ while True: self.request[self.continue_name] = offset pywikibot.debug('{}: Request: {}' - .format(self.__class__.__name__, self.request), - _logger) + .format(type(self).__name__, self.request)) data = self.request.submit()
n_items = len(data[self.data_name]) pywikibot.debug('{}: Retrieved {} items' - .format(self.__class__.__name__, n_items), - _logger) + .format(type(self).__name__, n_items)) if n_items > 0: for item in data[self.data_name]: yield item n += 1 if self.limit is not None and n >= self.limit: - pywikibot.debug('%s: Stopped iterating due to ' - 'exceeding item limit.' % - self.__class__.__name__, _logger) + pywikibot.debug('{}: Stopped iterating due to ' + 'exceeding item limit.' + .format(type(self).__name__)) return offset += n_items else: pywikibot.debug('{}: Stopped iterating due to empty list in ' - 'response.'.format(self.__class__.__name__), - _logger) + 'response.'.format(type(self).__name__)) break
@@ -2409,8 +2400,7 @@ else: self.query_limit = min(self.api_limit, limit) pywikibot.debug('{}: Set query_limit to {}.' - .format(self.__class__.__name__, - self.query_limit), _logger) + .format(type(self).__name__, self.query_limit))
def set_maximum_items(self, value: Union[int, str, None]) -> None: """Set the maximum number of items to be retrieved from the wiki. @@ -2439,10 +2429,8 @@ limit = int(param['max']) if self.api_limit is None or limit < self.api_limit: self.api_limit = limit - pywikibot.debug( - '{}: Set query_limit to {}.'.format(self.__class__.__name__, - self.api_limit), - _logger) + pywikibot.debug('{}: Set query_limit to {}.' + .format(type(self).__name__, self.api_limit))
def support_namespace(self) -> bool: """Check if namespace is a supported parameter on this query. @@ -2578,8 +2566,7 @@ new=new_limit, count=self._count, prefix=self.prefix, - value=self.request[self.prefix + 'limit']), - _logger) + value=self.request[self.prefix + 'limit'])) return prev_limit, new_limit
def _get_resultdata(self): @@ -2598,9 +2585,8 @@ resultdata = [resultdata[k] for k in sorted(resultdata.keys())] pywikibot.debug('{name} received {keys}; limit={limit}' - .format(name=self.__class__.__name__, - keys=keys, limit=self.limit), - _logger) + .format(name=type(self).__name__, keys=keys, + limit=self.limit)) return resultdata
def _extract_results(self, resultdata): @@ -2645,9 +2631,9 @@ if not self.data or not isinstance(self.data, dict): pywikibot.debug( '{}: stopped iteration because no dict retrieved from api.' - .format(self.__class__.__name__), - _logger) + .format(type(self).__name__)) return + if 'query' in self.data and self.resultkey in self.data['query']: resultdata = self._get_resultdata() if 'normalized' in self.data['query']: diff --git a/pywikibot/logentries.py b/pywikibot/logentries.py index e91168b..75463a7 100644 --- a/pywikibot/logentries.py +++ b/pywikibot/logentries.py @@ -14,9 +14,6 @@ from pywikibot.exceptions import Error, HiddenKeyError
-_logger = 'wiki' - - class LogEntry(UserDict):
"""Generic log entry. @@ -52,8 +49,7 @@
It also logs debugging information when a key is missing. """ - pywikibot.debug('API log entry received:\n{!r}'.format(self), - _logger) + pywikibot.debug('API log entry received:\n{!r}'.format(self)) hidden = { 'actionhidden': [ 'action', 'logpage', 'ns', 'pageid', 'params', 'title', @@ -84,9 +80,9 @@ """Compare if self is equal to other.""" if not isinstance(other, LogEntry): pywikibot.debug("'{}' cannot be compared with '{}'" - .format(type(self).__name__, type(other).__name__), - _logger) + .format(type(self).__name__, type(other).__name__)) return False + return self.logid() == other.logid() and self.site == other.site
def __getattr__(self, item: str) -> Any: @@ -412,8 +408,7 @@ try: logtype = logdata['type'] except KeyError: - pywikibot.debug('API log entry received:\n{}'.format(logdata), - _logger) + pywikibot.debug('API log entry received:\n{}'.format(logdata)) raise Error("Log entry has no 'type' key")
return LogEntryFactory.get_entry_class(logtype)(logdata, self._site) diff --git a/pywikibot/logging.py b/pywikibot/logging.py index 30cdc0b..39b6ac1 100644 --- a/pywikibot/logging.py +++ b/pywikibot/logging.py @@ -203,18 +203,21 @@ logoutput(text, decoder, newline, CRITICAL, **kwargs)
-def debug(text: object, layer: str, decoder: Optional[str] = None, +def debug(text: object, layer: str = '', decoder: Optional[str] = None, newline: bool = True, **kwargs: Any) -> None: """Output a debug record to the log file.
+ .. versionchanged:: 7.2 + `layer` parameter is optional. + :param text: the message of the debug record to be logged to the log file. - :param layer: logger to record this message upon + :param layer: dot-separated logger suffix to record this message + upon. If not given only 'pywiki' is used as logger name. :param decoder: If None, text should be a unicode string else it should be encoded in the given encoding. :param newline: If True, a line feed will be added after printing the text. :param kwargs: The keyword arguments can be found in the python doc: https://docs.python.org/3/howto/logging-cookbook.html - :param layer: The name of the logger that text will be sent to. """ logoutput(text, decoder, newline, DEBUG, layer, **kwargs)
diff --git a/pywikibot/login.py b/pywikibot/login.py index aa436d5..a58fa1d 100644 --- a/pywikibot/login.py +++ b/pywikibot/login.py @@ -30,9 +30,6 @@ """The format of password file is incorrect."""
-_logger = 'wiki.login' - - # On some wikis you are only allowed to run a bot if there is a link to # the bot's user page in a specific list. # If bots are listed in a template, the templates name must be given as diff --git a/pywikibot/page/_wikibase.py b/pywikibot/page/_wikibase.py index 26ea6ae..3042b44 100644 --- a/pywikibot/page/_wikibase.py +++ b/pywikibot/page/_wikibase.py @@ -427,9 +427,7 @@ if title and ('ns' not in kwargs and 'entity_type' not in kwargs): pywikibot.debug('{}.__init__: {} title {!r} specified without ' 'ns or entity_type' - .format(self.__class__.__name__, site, - title), - layer='wikibase') + .format(type(self).__name__, site, title))
self._namespace = None
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py index 0926580..d0bb14a 100644 --- a/pywikibot/pagegenerators.py +++ b/pywikibot/pagegenerators.py @@ -66,8 +66,6 @@ )
-_logger = 'pagegenerators' - # ported from version 1 for backwards-compatibility # most of these functions just wrap a Site or Page method that returns # a generator diff --git a/pywikibot/proofreadpage.py b/pywikibot/proofreadpage.py index 9df73bf..6b9914c 100644 --- a/pywikibot/proofreadpage.py +++ b/pywikibot/proofreadpage.py @@ -70,9 +70,6 @@ _bs4_soup = partial(BeautifulSoup, features='lxml')
-_logger = 'proofreadpage' - - PagesFromLabelType = Dict[str, Set['pywikibot.page.Page']] _IndexType = Tuple[Optional['IndexPage'], List['IndexPage']]
@@ -627,8 +624,7 @@
# wrong link fail with Exceptions for retry in range(5, 30, 5): - pywikibot.debug('{}: get URI {!r}'.format(ocr_tool, cmd_uri), - _logger) + pywikibot.debug('{}: get URI {!r}'.format(ocr_tool, cmd_uri)) try: response = http.fetch(cmd_uri) except ReadTimeout as e: @@ -637,8 +633,7 @@ pywikibot.error('"{}": {}'.format(cmd_uri, e)) return True, e else: - pywikibot.debug('{}: {}'.format(ocr_tool, response.text), - _logger) + pywikibot.debug('{}: {}'.format(ocr_tool, response.text)) break
pywikibot.warning('retrying in {} seconds ...'.format(retry)) diff --git a/pywikibot/site/_apisite.py b/pywikibot/site/_apisite.py index 2210ec9..a8b5120 100644 --- a/pywikibot/site/_apisite.py +++ b/pywikibot/site/_apisite.py @@ -77,7 +77,6 @@
__all__ = ('APISite', ) -_logger = 'wiki.apisite' _mw_msg_cache = defaultdict(dict) # type: DefaultDict[str, Dict[str, str]]
@@ -1617,8 +1616,7 @@ self._dl_errors[err.code].format_map(errdata) ) from None pywikibot.debug("revdelete: Unexpected error code '{}' received." - .format(err.code), - _logger) + .format(err.code)) raise else: if target: @@ -1776,14 +1774,11 @@ while True: try: result = req.submit() - pywikibot.debug('editpage response: {}'.format(result), - _logger) + pywikibot.debug('editpage response: {}'.format(result)) except APIError as err: if err.code.endswith('anon') and self.logged_in(): - pywikibot.debug( - "editpage: received '{}' even though bot is " - 'logged in'.format(err.code), - _logger) + pywikibot.debug("editpage: received '{}' even though " + 'bot is logged in'.format(err.code)) if err.code == 'abusefilter-warning': pywikibot.warning('{info}\nRetrying.' .format(info=err.info)) @@ -1808,8 +1803,7 @@ raise exception(page) from None pywikibot.debug( "editpage: Unexpected error code '{}' received." - .format(err.code), - _logger) + .format(err.code)) raise assert 'edit' in result and 'result' in result['edit'], result
@@ -1966,8 +1960,7 @@ try: result = req.submit() pywikibot.debug('mergehistory response: {result}' - .format(result=result), - _logger) + .format(result=result)) except APIError as err: if err.code in self._mh_errors: on_error = self._mh_errors[err.code] @@ -1975,9 +1968,7 @@
pywikibot.debug( "mergehistory: Unexpected error code '{code}' received" - .format(code=err.code), - _logger - ) + .format(code=err.code)) raise finally: self.unlock_page(source) @@ -2071,14 +2062,13 @@ req['from'] = oldtitle # "from" is a python keyword try: result = req.submit() - pywikibot.debug('movepage response: {}'.format(result), - _logger) + pywikibot.debug('movepage response: {}'.format(result)) except APIError as err: if err.code.endswith('anon') and self.logged_in(): pywikibot.debug( "movepage: received '{}' even though bot is logged in" - .format(err.code), - _logger) + .format(err.code)) + if err.code in self._mv_errors: on_error = self._mv_errors[err.code] if not isinstance(on_error, str): @@ -2111,8 +2101,7 @@ raise Error(on_error.format_map(errdata)) from None
pywikibot.debug("movepage: Unexpected error code '{}' received." - .format(err.code), - _logger) + .format(err.code)) raise finally: self.unlock_page(page) @@ -2190,8 +2179,7 @@ self._rb_errors[err.code].format_map(errdata) ) from None pywikibot.debug("rollback: Unexpected error code '{}' received." - .format(err.code), - _logger) + .format(err.code)) raise finally: self.unlock_page(page) @@ -2288,8 +2276,7 @@ self._dl_errors[err.code].format_map(errdata) ) from None pywikibot.debug('delete: Unexpected error code {!r} received.' - .format(err.code), - _logger) + .format(err.code)) raise else: if isinstance(page, pywikibot.page.BasePage): @@ -2348,8 +2335,7 @@ self._dl_errors[err.code].format_map(errdata) ) from None pywikibot.debug('undelete: Unexpected error code {!r} received.' - .format(err.code), - _logger) + .format(err.code)) raise finally: self.unlock_page(page) @@ -2432,8 +2418,7 @@ self._protect_errors[err.code].format_map(errdata) ) from None pywikibot.debug("protect: Unexpected error code '{}' received." - .format(err.code), - _logger) + .format(err.code)) raise else: protection = {} diff --git a/pywikibot/site/_datasite.py b/pywikibot/site/_datasite.py index b729f25..440134e 100644 --- a/pywikibot/site/_datasite.py +++ b/pywikibot/site/_datasite.py @@ -26,7 +26,6 @@
__all__ = ('DataSite', ) -_logger = 'wiki.datasite'
class DataSite(APISite): diff --git a/pywikibot/site/_generators.py b/pywikibot/site/_generators.py index d6ecd73..7bc537c 100644 --- a/pywikibot/site/_generators.py +++ b/pywikibot/site/_generators.py @@ -33,9 +33,6 @@ )
-_logger = 'wiki.apisite' - - class GeneratorsMixin:
"""API generators mixin to MediaWiki site.""" @@ -152,7 +149,7 @@ .format(len(cache), self))
for pagedata in rvgen: - pywikibot.debug('Preloading {}'.format(pagedata), _logger) + pywikibot.debug('Preloading {}'.format(pagedata)) try: if pagedata['title'] not in cache: # API always returns a "normalized" title which is @@ -172,11 +169,9 @@ "title '{}'".format(pagedata['title'])) continue except KeyError: - pywikibot.debug("No 'title' in {}" - .format(pagedata), _logger) - pywikibot.debug('pageids={}'.format(pageids), _logger) - pywikibot.debug('titles={}' - .format(list(cache.keys())), _logger) + pywikibot.debug("No 'title' in {}".format(pagedata)) + pywikibot.debug('pageids={}'.format(pageids)) + pywikibot.debug('titles={}'.format(list(cache.keys()))) continue priority, page = cache[pagedata['title']] api.update_page(page, pagedata, rvgen.props) @@ -1838,8 +1833,7 @@ raise Error(self._patrol_errors[err.code] .format_map(errdata)) pywikibot.debug("protect: Unexpected error code '{}' received." - .format(err.code), - _logger) + .format(err.code)) raise
yield result['patrol'] diff --git a/pywikibot/site/_siteinfo.py b/pywikibot/site/_siteinfo.py index a92311b..bc0aa76 100644 --- a/pywikibot/site/_siteinfo.py +++ b/pywikibot/site/_siteinfo.py @@ -16,9 +16,6 @@ from pywikibot.tools import EMPTY_DEFAULT
-_logger = 'wiki.siteinfo' - - class Siteinfo(Container):
""" @@ -228,7 +225,7 @@ :rtype: various (the value), bool (if the default value is used) """ if 'general' not in self._cache: - pywikibot.debug('general siteinfo not loaded yet.', _logger) + pywikibot.debug('general siteinfo not loaded yet.') force = True props = ['namespaces', 'namespacealiases'] else: @@ -239,7 +236,7 @@ if props: pywikibot.debug( "Load siteinfo properties '{}' along with 'general'" - .format("', '".join(props)), _logger) + .format("', '".join(props))) props += ['general'] default_info = self._get_siteinfo(props, expiry) for prop in props: diff --git a/pywikibot/site/_tokenwallet.py b/pywikibot/site/_tokenwallet.py index 12bd1a3..9e32f87 100644 --- a/pywikibot/site/_tokenwallet.py +++ b/pywikibot/site/_tokenwallet.py @@ -8,9 +8,6 @@ from pywikibot.exceptions import Error
-_logger = 'site.tokenwallet' - - class TokenWallet:
"""Container for tokens.""" @@ -62,8 +59,7 @@ if self.site.mw_version >= '1.24wmf19' \ and key in {'edit', 'delete', 'protect', 'move', 'block', 'unblock', 'email', 'import', 'options'}: - debug( - 'Token {!r} was replaced by {!r}'.format(key, 'csrf'), _logger) + debug('Token {!r} was replaced by {!r}'.format(key, 'csrf')) key = 'csrf'
try: diff --git a/pywikibot/site/_upload.py b/pywikibot/site/_upload.py index c85a397..1db38c4 100644 --- a/pywikibot/site/_upload.py +++ b/pywikibot/site/_upload.py @@ -20,7 +20,6 @@
__all__ = ('Uploader', ) -_logger = 'wiki.apisite'
class Uploader: @@ -457,7 +456,7 @@ self.site._uploaddisabled = True raise error result = result['upload'] - pywikibot.debug(result, _logger) + pywikibot.debug(result)
if 'result' not in result: raise Error('Upload: unrecognized response: {}'.format(result)) diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py index 8b16d4e..4b6270b 100644 --- a/pywikibot/textlib.py +++ b/pywikibot/textlib.py @@ -49,8 +49,6 @@
ETPType = List[Tuple[str, OrderedDictType[str, str]]]
-_logger = 'textlib' - # cache for replaceExcept to avoid recompile or regexes each call _regex_cache = {}
@@ -1696,7 +1694,7 @@ text = removeDisabledParts(text)
parser_name = wikitextparser.__name__ - pywikibot.debug('Using {!r} wikitext parser'.format(parser_name), _logger) + pywikibot.debug('Using {!r} wikitext parser'.format(parser_name))
result = [] parsed = wikitextparser.parse(text) diff --git a/pywikibot/throttle.py b/pywikibot/throttle.py index 7079d1a..c293493 100644 --- a/pywikibot/throttle.py +++ b/pywikibot/throttle.py @@ -24,8 +24,6 @@ from hashlib import blake2b
-_logger = 'wiki.throttle' - FORMAT_LINE = '{module_id} {pid} {time} {site}\n' ProcEntry = namedtuple('ProcEntry', ['module_id', 'pid', 'time', 'site'])
@@ -158,8 +156,7 @@ """ global pid mysite = self.mysite - pywikibot.debug('Checking multiplicity: pid = {pid}'.format(pid=pid), - _logger) + pywikibot.debug('Checking multiplicity: pid = {pid}'.format(pid=pid)) with self.lock: processes = [] used_pids = set() diff --git a/pywikibot/tools/__init__.py b/pywikibot/tools/__init__.py index df207fb..3b68d81 100644 --- a/pywikibot/tools/__init__.py +++ b/pywikibot/tools/__init__.py @@ -65,8 +65,6 @@
PYTHON_VERSION = sys.version_info[:3]
-_logger = 'tools' -
def is_ip_address(value: str) -> bool: """Check if a value is a valid IPv4 or IPv6 address. @@ -507,8 +505,7 @@ version_match.group(2)) if version_match.group(2): debug('Additional unused version part ' - '"{}"'.format(version_match.group(2)), - _logger) + '"{}"'.format(version_match.group(2))) self._dev_version = (4, )
self.suffix = version_match.group(2) or '' @@ -773,8 +770,6 @@
"""
- _logger = 'threadlist' - def __init__(self, limit: int = 128, wait_time: float = 2, *args) -> None: """Initializer.
@@ -810,17 +805,16 @@
super().append(thd) thd.start() - debug("thread {} ('{}') started".format(len(self), type(thd)), - self._logger) + debug("thread {} ('{}') started".format(len(self), type(thd)))
def stop_all(self) -> None: """Stop all threads the pool.""" if self: - debug('EARLY QUIT: Threads: {}'.format(len(self)), self._logger) + debug('EARLY QUIT: Threads: {}'.format(len(self))) for thd in self: thd.stop() debug('EARLY QUIT: Queue size left in {}: {}' - .format(thd, thd.queue.qsize()), self._logger) + .format(thd, thd.queue.qsize()))
def intersect_generators(*iterables, allow_duplicates: bool = False): @@ -890,7 +884,7 @@ for source in iterables: if not source: debug('At least one iterable ({!r}) is empty and execution was ' - 'skipped immediately.'.format(source), 'intersect') + 'skipped immediately.'.format(source)) return
# Item is cached to check that it is found n_gen times diff --git a/pywikibot/version.py b/pywikibot/version.py index 1145497..661eb36 100644 --- a/pywikibot/version.py +++ b/pywikibot/version.py @@ -27,9 +27,6 @@ from pywikibot.exceptions import VersionParseError
-_logger = 'version' - - def _get_program_dir(): _program_dir = os.path.normpath( os.path.split(os.path.dirname(__file__))[0]) @@ -113,7 +110,7 @@ # Git and SVN can silently fail, as it may be a nightly. if exceptions: pywikibot.debug('version algorithm exceptions:\n{!r}' - .format(exceptions), _logger) + .format(exceptions))
if isinstance(date, str): datestring = date diff --git a/scripts/patrol.py b/scripts/patrol.py index f2d33ec..48bc66f 100755 --- a/scripts/patrol.py +++ b/scripts/patrol.py @@ -61,8 +61,6 @@ except ImportError as e: mwparserfromhell = e
-_logger = 'patrol' -
def verbose_output(string) -> None: """Verbose output.""" @@ -210,8 +208,8 @@ continue if isinstance(node, mwparserfromhell.nodes.wikilink.Wikilink): if current_user is False: - pywikibot.debug('Link to "{}" ignored as outside ' - 'list'.format(node.title), _logger) + pywikibot.debug('Link to "{}" ignored as outside list' + .format(node.title)) continue
obj = pywikibot.Link(node.title, self.site) diff --git a/tests/ui_tests.py b/tests/ui_tests.py index 9f443fd..cab4146 100755 --- a/tests/ui_tests.py +++ b/tests/ui_tests.py @@ -149,7 +149,7 @@ self.assertEqual(self.strerr.getvalue(), 'CRITICAL: critical\n')
def test_debug(self): - pywikibot.debug('debug', 'test') + pywikibot.debug('debug', layer='test') self.assertEqual(self.strout.getvalue(), '') self.assertEqual(self.strerr.getvalue(), '')