jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/807423 )
Change subject: [bugfix] Handle page_put_queue after KeyboardInterrupt
......................................................................
[bugfix] Handle page_put_queue after KeyboardInterrupt
With Python 3.9+ the _putthread thread is stopped and cannot be continued.
- Handle the page_put_queue after KeyboardInterrupt
- stop the queue if _flush is not called during atexit
Bug: T311076
Change-Id: Id7c07562e46c5e7b411e386d76ba23f4125ad0ff
---
M pywikibot/__init__.py
1 file changed, 25 insertions(+), 18 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py
index 3264486..8954930 100644
--- a/pywikibot/__init__.py
+++ b/pywikibot/__init__.py
@@ -1319,23 +1319,30 @@
'Estimated time remaining: {sec}<<default>>'
.format(num=num, sec=sec))
+ exit_queue = None
if _putthread is not threading.current_thread():
- while (_putthread.is_alive()
- and (page_put_queue.qsize() > 0
- or page_put_queue_busy.qsize() > 0)):
+ while _putthread.is_alive() and not (page_put_queue.empty()
+ and page_put_queue_busy.empty()):
try:
_putthread.join(1)
except KeyboardInterrupt:
- if input_yn('There are {} pages remaining in the queue. '
- 'Estimated time remaining: {}\nReally exit?'
- .format(*remaining()),
- default=False, automatic_quit=False):
- # delete the put queue
- with page_put_queue.mutex:
- page_put_queue.all_tasks_done.notify_all()
- page_put_queue.queue.clear()
- page_put_queue.not_full.notify_all()
- break
+ exit_queue = input_yn(
+ 'There are {} pages remaining in the queue. Estimated '
+ 'time remaining: {}\nReally exit?'.format(*remaining()),
+ default=False, automatic_quit=False)
+ break
+
+ if exit_queue is False:
+ # handle the queue when _putthread is stopped after KeyboardInterrupt
+ with suppress(KeyboardInterrupt):
+ async_manager(block=False)
+
+ if not stop:
+ # delete the put queue
+ with page_put_queue.mutex:
+ page_put_queue.all_tasks_done.notify_all()
+ page_put_queue.queue.clear()
+ page_put_queue.not_full.notify_all()
# only need one drop() call because all throttles use the same global pid
with suppress(IndexError):
@@ -1343,14 +1350,13 @@
log('Dropped throttle(s).')
-atexit.register(_flush)
-
-
# Create a separate thread for asynchronous page saves (and other requests)
-def async_manager() -> None:
+def async_manager(block=True) -> None:
"""Daemon; take requests from the queue and execute them in background."""
while True:
- (request, args, kwargs) = page_put_queue.get()
+ if not block and page_put_queue.empty():
+ break
+ (request, args, kwargs) = page_put_queue.get(block)
page_put_queue_busy.put(None)
if request is None:
break
@@ -1375,3 +1381,4 @@
_putthread = threading.Thread(target=async_manager,
name='Put-Thread', # for debugging purposes
daemon=True)
+atexit.register(_flush)
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/807423
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Id7c07562e46c5e7b411e386d76ba23f4125ad0ff
Gerrit-Change-Number: 807423
Gerrit-PatchSet: 4
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/807508 )
Change subject: [IMPR] Ignore Exception when removing an 'File' namespace alias
......................................................................
[IMPR] Ignore Exception when removing an 'File' namespace alias
Change-Id: Ifa19e2b4faaa86fdb83ec90acd8d7131cecf1808
---
M pywikibot/cosmetic_changes.py
1 file changed, 8 insertions(+), 7 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/cosmetic_changes.py b/pywikibot/cosmetic_changes.py
index 522f153..7422bc5 100644
--- a/pywikibot/cosmetic_changes.py
+++ b/pywikibot/cosmetic_changes.py
@@ -55,6 +55,7 @@
# Distributed under the terms of the MIT license.
#
import re
+from contextlib import suppress
from enum import IntEnum
from typing import Any, Union
from urllib.parse import urlparse, urlunparse
@@ -403,17 +404,17 @@
if namespace == 6 and self.site.family.name == 'wikipedia':
if self.site.code in ('en', 'fr'):
# do not change "Image" on en-wiki and fr-wiki
- assert 'Image' in namespaces
- namespaces.remove('Image')
+ with suppress(ValueError):
+ namespaces.remove('Image')
if self.site.code == 'hu':
# do not change "Kép" on hu-wiki
- assert 'Kép' in namespaces
- namespaces.remove('Kép')
+ with suppress(ValueError):
+ namespaces.remove('Kép')
elif self.site.code == 'pt':
# use "Imagem" by default on pt-wiki (per T57242)
- assert 'Imagem' in namespaces
- namespaces.insert(
- 0, namespaces.pop(namespaces.index('Imagem')))
+ with suppress(ValueError):
+ namespaces.insert(
+ 0, namespaces.pop(namespaces.index('Imagem')))
# final namespace variant
final_ns = namespaces.pop(0)
if namespace in (2, 3):
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/807508
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ifa19e2b4faaa86fdb83ec90acd8d7131cecf1808
Gerrit-Change-Number: 807508
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/807501 )
Change subject: [IMPR] Simplify some code
......................................................................
[IMPR] Simplify some code
- remove keys() method if appropriate
- remove list() function if appropriate
- simplify Request documentation
Change-Id: Ie3b0968b8fe0ae75b2cd0dc27fbe13b78708d20f
---
M pywikibot/bot.py
M pywikibot/config.py
M pywikibot/cosmetic_changes.py
M pywikibot/data/api/_generators.py
M pywikibot/data/api/_paraminfo.py
M pywikibot/data/api/_requests.py
6 files changed, 25 insertions(+), 29 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/bot.py b/pywikibot/bot.py
index 3d6fb8b..012319f 100644
--- a/pywikibot/bot.py
+++ b/pywikibot/bot.py
@@ -485,8 +485,6 @@
# config file dir
log('CONFIG FILE DIR: {}'.format(pywikibot.config.base_dir))
- all_modules = sys.modules.keys()
-
# These are the main dependencies of pywikibot.
check_package_list = [
'requests',
@@ -495,7 +493,7 @@
# report all imported packages
if config.verbose_output:
- check_package_list += all_modules
+ check_package_list += sys.modules
log('PACKAGES:')
packages = version.package_versions(check_package_list)
diff --git a/pywikibot/config.py b/pywikibot/config.py
index 173ff93..5a3626a 100644
--- a/pywikibot/config.py
+++ b/pywikibot/config.py
@@ -1053,7 +1053,7 @@
_check_user_config_types(_exec_globals, _public_globals, _imports)
# Copy the user config settings into globals
-_modified = {_key for _key in _public_globals.keys()
+_modified = {_key for _key in _public_globals
if _exec_globals[_key] != globals()[_key]}
if 'user_agent_format' in _modified:
@@ -1135,7 +1135,7 @@
else:
warning('Unknown arg {} ignored'.format(_arg))
- for _name in sorted(globals().keys()):
+ for _name in sorted(globals()):
if _name[0] != '_' \
and type(globals()[_name]) not in [types.FunctionType,
types.ModuleType] \
@@ -1154,7 +1154,7 @@
output('{}={}'.format(_name, _value))
# cleanup all locally-defined variables
-for __var in list(globals().keys()):
+for __var in list(globals()):
if __var.startswith('_') and not __var.startswith('__'):
del sys.modules[__name__].__dict__[__var]
diff --git a/pywikibot/cosmetic_changes.py b/pywikibot/cosmetic_changes.py
index 522f153..93c1013 100644
--- a/pywikibot/cosmetic_changes.py
+++ b/pywikibot/cosmetic_changes.py
@@ -810,8 +810,9 @@
def replace_link(match: Match[str]) -> str:
"""Create a string to replace a single link."""
replacement = '[['
- if re.match(r'(?:' + '|'.join(list(self.site.namespaces[6])
- + list(self.site.namespaces[14])) + '):',
+ if re.match(r'(?:{}):'
+ .format('|'.join((*self.site.namespaces[6],
+ *self.site.namespaces[14]))),
match.group('link')):
replacement += ':'
replacement += match.group('link')
diff --git a/pywikibot/data/api/_generators.py b/pywikibot/data/api/_generators.py
index 1510429..e2b4a10 100644
--- a/pywikibot/data/api/_generators.py
+++ b/pywikibot/data/api/_generators.py
@@ -521,7 +521,7 @@
"""Get resultdata and verify result."""
resultdata = keys = self.data['query'][self.resultkey]
if isinstance(resultdata, dict):
- keys = list(resultdata.keys())
+ keys = list(resultdata)
if 'results' in resultdata:
resultdata = resultdata['results']
elif 'pageids' in self.data['query']:
@@ -531,7 +531,7 @@
for k in self.data['query']['pageids']]
else:
resultdata = [resultdata[k]
- for k in sorted(resultdata.keys())]
+ for k in sorted(resultdata)]
pywikibot.debug('{name} received {keys}; limit={limit}'
.format(name=type(self).__name__, keys=keys,
limit=self.limit))
@@ -545,13 +545,12 @@
continue
yield result
- if isinstance(item, dict) \
- and set(self.continuekey) & set(item.keys()):
+ if isinstance(item, dict) and set(self.continuekey) & set(item):
# if we need to count elements contained in items in
# self.data["query"]["pages"], we want to count
# item[self.continuekey] (e.g. 'revisions') and not
# self.resultkey (i.e. 'pages')
- for key in set(self.continuekey) & set(item.keys()):
+ for key in set(self.continuekey) & set(item):
self._count += len(item[key])
# otherwise we proceed as usual
else:
diff --git a/pywikibot/data/api/_paraminfo.py b/pywikibot/data/api/_paraminfo.py
index 16e6406..36d5e69 100644
--- a/pywikibot/data/api/_paraminfo.py
+++ b/pywikibot/data/api/_paraminfo.py
@@ -202,7 +202,7 @@
del failed_modules[:]
yield batch
- modules = modules - set(self._paraminfo.keys())
+ modules = modules - set(self._paraminfo)
if not modules:
return
diff --git a/pywikibot/data/api/_requests.py b/pywikibot/data/api/_requests.py
index cf8eb26..f676a4f 100644
--- a/pywikibot/data/api/_requests.py
+++ b/pywikibot/data/api/_requests.py
@@ -77,18 +77,18 @@
below) get passed as commands to api.php, and can be get or set
using the dict interface. All attributes must be strings. Use an
empty string for parameters that don't require a value. For example,
- Request(action="query", titles="Foo bar", prop="info", redirects="")
+ ``Request(action="query", titles="Foo bar", prop="info", redirects="")``
corresponds to the API request
- "api.php?action=query&titles=Foo%20bar&prop=info&redirects"
+ ``api.php?action=query&titles=Foo%20bar&prop=info&redirects``
This is the lowest-level interface to the API, and can be used for any
request that a particular site's API supports. See the API documentation
(https://www.mediawiki.org/wiki/API) and site-specific settings for
details on what parameters are accepted for each request type.
- Uploading files is a special case: to upload, the parameter "mime" must
- contain a dict, and the parameter "file" must be set equal to a valid
- filename on the local computer, _not_ to the content of the file.
+ Uploading files is a special case: to upload, the parameter `mime` must
+ contain a dict, and the parameter `file` must be set equal to a valid
+ filename on the local computer, *not* to the content of the file.
Returns a dict containing the JSON data returned by the wiki. Normally,
one of the dict keys will be equal to the value of the 'action'
@@ -104,15 +104,15 @@
>>> # add a new parameter
>>> r['siprop'] = "namespaces"
>>> # note that "uiprop" param gets added automatically
- >>> str(r.action)
+ >>> r.action
'query'
- >>> sorted(str(key) for key in r._params.keys())
+ >>> sorted(r._params)
['action', 'meta', 'siprop']
- >>> [str(key) for key in r._params['action']]
+ >>> r._params['action']
['query']
- >>> [str(key) for key in r._params['meta']]
+ >>> r._params['meta']
['userinfo', 'siteinfo']
- >>> [str(key) for key in r._params['siprop']]
+ >>> r._params['siprop']
['namespaces']
>>> data = r.submit()
>>> isinstance(data, dict)
@@ -121,9 +121,8 @@
True
>>> 'query' in data
True
- >>> sorted(str(key) for key in data['query'].keys())
+ >>> sorted(data['query'])
['namespaces', 'userinfo']
-
"""
# To make sure the default value of 'parameters' can be identified.
@@ -383,7 +382,7 @@
def keys(self):
"""Implement dict interface."""
- return list(self._params.keys())
+ return list(self._params)
def __iter__(self):
"""Implement dict interface."""
@@ -410,8 +409,7 @@
if hasattr(self, '__defaulted'):
return
- if self.mime is not None \
- and set(self._params.keys()) & set(self.mime.keys()):
+ if self.mime is not None and set(self._params) & set(self.mime):
raise ValueError('The mime and params shall not share the '
'same keys.')
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/807501
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ie3b0968b8fe0ae75b2cd0dc27fbe13b78708d20f
Gerrit-Change-Number: 807501
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-CC: Mpaa <mpaa.wiki(a)gmail.com>
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/809341 )
Change subject: replace use of deprecated FilePage.usingPages()
......................................................................
replace use of deprecated FilePage.usingPages()
Change-Id: I259c5b1398c7c219e5f78d8d3fb0a3bd4d7cce36
---
M pywikibot/page/_filepage.py
M scripts/checkimages.py
2 files changed, 3 insertions(+), 3 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/page/_filepage.py b/pywikibot/page/_filepage.py
index 32fcf9f..0e61412 100644
--- a/pywikibot/page/_filepage.py
+++ b/pywikibot/page/_filepage.py
@@ -217,7 +217,7 @@
.. versionadded:: 7.1
"""
- return bool(list(self.usingPages(total=1)))
+ return bool(list(self.using_pages(total=1)))
def upload(self, source: str, **kwargs) -> bool:
"""
@@ -311,7 +311,7 @@
"""
Iterate all global usage for this page.
- .. seealso:: :meth:`usingPages`
+ .. seealso:: :meth:`using_pages`
:param total: iterate no more than this number of pages in total
:return: a generator that yields Pages also on sites different from
diff --git a/scripts/checkimages.py b/scripts/checkimages.py
index b7cf1f3..ef83170 100755
--- a/scripts/checkimages.py
+++ b/scripts/checkimages.py
@@ -798,7 +798,7 @@
Get tuples of image and time, return the most used or oldest image.
.. versionchanged: 7.2
- itertools.zip_longest is used to stop `usingPages` as soon as
+ itertools.zip_longest is used to stop `using_pages` as soon as
possible.
:param list_given: a list of tuples which hold seconds and FilePage
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/809341
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I259c5b1398c7c219e5f78d8d3fb0a3bd4d7cce36
Gerrit-Change-Number: 809341
Gerrit-PatchSet: 1
Gerrit-Owner: JJMC89 <JJMC89.Wikimedia(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/808475 )
Change subject: [7.5] Prepare next release
......................................................................
[7.5] Prepare next release
Change-Id: I16b6645b90671bbde6a4e4a0c8d3d5589b74503f
---
M .appveyor.yml
M HISTORY.rst
M ROADMAP.rst
M pywikibot/__metadata__.py
M scripts/__init__.py
5 files changed, 24 insertions(+), 17 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/.appveyor.yml b/.appveyor.yml
index 0498d73..c970728 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,7 +1,7 @@
image: Visual Studio 2019
clone_depth: 50
skip_tags: true
-version: 7.4.{build}
+version: 7.5.{build}
environment:
PYWIKIBOT_DIR: "%appdata%\\Pywikibot"
diff --git a/HISTORY.rst b/HISTORY.rst
index a060378..dfec894 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,6 +1,25 @@
Release history
^^^^^^^^^^^^^^^
+7.4.0
+-----
+*26 June 2022*
+
+* Provide Built Distribution with Pywikibot (:pep:`427`)
+* Update `WRITE_ACTIONS` in used by :class:`api.Request<pywikibot.data.api.Request>`
+* Move :func:`get_closest_memento_url<pywikibot.data.memento.get_closest_memento_url>` from weblinkchecker script to memento module.
+* Add :mod:`memento module<pywikibot.data.memento>` to fix memento_client package (:phab:`T185561`)
+* L10N and i18n updates
+* Fix Flow board topic continuation when iterating in reverse (:phab:`T138323`)
+* Add Avestan transliteration
+* Use Response.json() instead of json.loads(Response.text)
+* Show an APIError if PetScanPageGenerator.query() fails (:phab:`T309538`)
+* `login.py` is now a utiliy script even for site-package installation (:phab:`T309290`)
+* `preload_sites.py` is now a utiliy script even for site-package installation (:phab:`T308912`)
+* :attr:`generator_completed<pywikibot.bot.BaseBot.generator_completed>` became a public attribute
+* Return gracefully from pwb.find_alternates if folder in user_script_paths does not exist (:phab:`T308910`)
+
+
7.3.0
-----
*21 May 2022*
diff --git a/ROADMAP.rst b/ROADMAP.rst
index 0108bac..eb3b70b 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -1,19 +1,7 @@
-Current release 7.4.0
+Current release 7.5.0
^^^^^^^^^^^^^^^^^^^^^
-* Provide Built Distribution with Pywikibot (:pep:`427`)
-* Update `WRITE_ACTIONS` in used by :class:`api.Request<pywikibot.data.api.Request>`
-* Move :func:`get_closest_memento_url<pywikibot.data.memento.get_closest_memento_url>` from weblinkchecker script to memento module.
-* Add :mod:`memento module<pywikibot.data.memento>` to fix memento_client package (:phab:`T185561`)
-* L10N and i18n updates
-* Fix Flow board topic continuation when iterating in reverse (:phab:`T138323`)
-* Add Avestan transliteration
-* Use Response.json() instead of json.loads(Response.text)
-* Show an APIError if PetScanPageGenerator.query() fails (:phab:`T309538`)
-* `login.py` is now a utiliy script even for site-package installation (:phab:`T309290`)
-* `preload_sites.py` is now a utiliy script even for site-package installation (:phab:`T308912`)
-* :attr:`generator_completed<pywikibot.bot.BaseBot.generator_completed>` became a public attribute
-* Return gracefully from pwb.find_alternates if folder in user_script_paths does not exist (:phab:`T308910`)
+* *No changes yet*
Deprecations
^^^^^^^^^^^^
diff --git a/pywikibot/__metadata__.py b/pywikibot/__metadata__.py
index aafe5b9..8e1887d 100644
--- a/pywikibot/__metadata__.py
+++ b/pywikibot/__metadata__.py
@@ -11,7 +11,7 @@
__name__ = 'pywikibot'
-__version__ = '7.4.0'
+__version__ = '7.5.0.dev0'
__description__ = 'Python MediaWiki Bot Framework'
__maintainer__ = 'The Pywikibot team'
__maintainer_email__ = 'pywikibot(a)lists.wikimedia.org'
diff --git a/scripts/__init__.py b/scripts/__init__.py
index 4385672..3640623 100644
--- a/scripts/__init__.py
+++ b/scripts/__init__.py
@@ -29,4 +29,4 @@
#
# Distributed under the terms of the MIT license.
#
-__version__ = '7.4.0'
+__version__ = '7.5.0'
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/808475
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I16b6645b90671bbde6a4e4a0c8d3d5589b74503f
Gerrit-Change-Number: 808475
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki(a)aol.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/808430 )
Change subject: Revert "[7.5] Prepare next release"
......................................................................
Revert "[7.5] Prepare next release"
This reverts commit 0ad355906a14dca80f868f2c06512909a211637b.
Reason for revert: not for stable release
Change-Id: I6587f5150d739e3753a51f840cc582d8020fc9e9
---
M .appveyor.yml
M HISTORY.rst
M ROADMAP.rst
M pywikibot/__metadata__.py
M scripts/__init__.py
5 files changed, 17 insertions(+), 24 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/.appveyor.yml b/.appveyor.yml
index c970728..0498d73 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,7 +1,7 @@
image: Visual Studio 2019
clone_depth: 50
skip_tags: true
-version: 7.5.{build}
+version: 7.4.{build}
environment:
PYWIKIBOT_DIR: "%appdata%\\Pywikibot"
diff --git a/HISTORY.rst b/HISTORY.rst
index dfec894..a060378 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,25 +1,6 @@
Release history
^^^^^^^^^^^^^^^
-7.4.0
------
-*26 June 2022*
-
-* Provide Built Distribution with Pywikibot (:pep:`427`)
-* Update `WRITE_ACTIONS` in used by :class:`api.Request<pywikibot.data.api.Request>`
-* Move :func:`get_closest_memento_url<pywikibot.data.memento.get_closest_memento_url>` from weblinkchecker script to memento module.
-* Add :mod:`memento module<pywikibot.data.memento>` to fix memento_client package (:phab:`T185561`)
-* L10N and i18n updates
-* Fix Flow board topic continuation when iterating in reverse (:phab:`T138323`)
-* Add Avestan transliteration
-* Use Response.json() instead of json.loads(Response.text)
-* Show an APIError if PetScanPageGenerator.query() fails (:phab:`T309538`)
-* `login.py` is now a utiliy script even for site-package installation (:phab:`T309290`)
-* `preload_sites.py` is now a utiliy script even for site-package installation (:phab:`T308912`)
-* :attr:`generator_completed<pywikibot.bot.BaseBot.generator_completed>` became a public attribute
-* Return gracefully from pwb.find_alternates if folder in user_script_paths does not exist (:phab:`T308910`)
-
-
7.3.0
-----
*21 May 2022*
diff --git a/ROADMAP.rst b/ROADMAP.rst
index eb3b70b..0108bac 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -1,7 +1,19 @@
-Current release 7.5.0
+Current release 7.4.0
^^^^^^^^^^^^^^^^^^^^^
-* *No changes yet*
+* Provide Built Distribution with Pywikibot (:pep:`427`)
+* Update `WRITE_ACTIONS` in used by :class:`api.Request<pywikibot.data.api.Request>`
+* Move :func:`get_closest_memento_url<pywikibot.data.memento.get_closest_memento_url>` from weblinkchecker script to memento module.
+* Add :mod:`memento module<pywikibot.data.memento>` to fix memento_client package (:phab:`T185561`)
+* L10N and i18n updates
+* Fix Flow board topic continuation when iterating in reverse (:phab:`T138323`)
+* Add Avestan transliteration
+* Use Response.json() instead of json.loads(Response.text)
+* Show an APIError if PetScanPageGenerator.query() fails (:phab:`T309538`)
+* `login.py` is now a utiliy script even for site-package installation (:phab:`T309290`)
+* `preload_sites.py` is now a utiliy script even for site-package installation (:phab:`T308912`)
+* :attr:`generator_completed<pywikibot.bot.BaseBot.generator_completed>` became a public attribute
+* Return gracefully from pwb.find_alternates if folder in user_script_paths does not exist (:phab:`T308910`)
Deprecations
^^^^^^^^^^^^
diff --git a/pywikibot/__metadata__.py b/pywikibot/__metadata__.py
index 8e1887d..aafe5b9 100644
--- a/pywikibot/__metadata__.py
+++ b/pywikibot/__metadata__.py
@@ -11,7 +11,7 @@
__name__ = 'pywikibot'
-__version__ = '7.5.0.dev0'
+__version__ = '7.4.0'
__description__ = 'Python MediaWiki Bot Framework'
__maintainer__ = 'The Pywikibot team'
__maintainer_email__ = 'pywikibot(a)lists.wikimedia.org'
diff --git a/scripts/__init__.py b/scripts/__init__.py
index 3640623..4385672 100644
--- a/scripts/__init__.py
+++ b/scripts/__init__.py
@@ -29,4 +29,4 @@
#
# Distributed under the terms of the MIT license.
#
-__version__ = '7.5.0'
+__version__ = '7.4.0'
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/808430
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: stable
Gerrit-Change-Id: I6587f5150d739e3753a51f840cc582d8020fc9e9
Gerrit-Change-Number: 808430
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki(a)aol.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/808451 )
Change subject: [7.5] Prepare next release
......................................................................
[7.5] Prepare next release
Change-Id: Ib43f154a746b7c38bee6498371c5af0fd46816c6
---
M .appveyor.yml
M HISTORY.rst
M ROADMAP.rst
M pywikibot/__metadata__.py
M scripts/__init__.py
5 files changed, 24 insertions(+), 17 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/.appveyor.yml b/.appveyor.yml
index 0498d73..c970728 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,7 +1,7 @@
image: Visual Studio 2019
clone_depth: 50
skip_tags: true
-version: 7.4.{build}
+version: 7.5.{build}
environment:
PYWIKIBOT_DIR: "%appdata%\\Pywikibot"
diff --git a/HISTORY.rst b/HISTORY.rst
index a060378..dfec894 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,6 +1,25 @@
Release history
^^^^^^^^^^^^^^^
+7.4.0
+-----
+*26 June 2022*
+
+* Provide Built Distribution with Pywikibot (:pep:`427`)
+* Update `WRITE_ACTIONS` in used by :class:`api.Request<pywikibot.data.api.Request>`
+* Move :func:`get_closest_memento_url<pywikibot.data.memento.get_closest_memento_url>` from weblinkchecker script to memento module.
+* Add :mod:`memento module<pywikibot.data.memento>` to fix memento_client package (:phab:`T185561`)
+* L10N and i18n updates
+* Fix Flow board topic continuation when iterating in reverse (:phab:`T138323`)
+* Add Avestan transliteration
+* Use Response.json() instead of json.loads(Response.text)
+* Show an APIError if PetScanPageGenerator.query() fails (:phab:`T309538`)
+* `login.py` is now a utiliy script even for site-package installation (:phab:`T309290`)
+* `preload_sites.py` is now a utiliy script even for site-package installation (:phab:`T308912`)
+* :attr:`generator_completed<pywikibot.bot.BaseBot.generator_completed>` became a public attribute
+* Return gracefully from pwb.find_alternates if folder in user_script_paths does not exist (:phab:`T308910`)
+
+
7.3.0
-----
*21 May 2022*
diff --git a/ROADMAP.rst b/ROADMAP.rst
index 0108bac..eb3b70b 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -1,19 +1,7 @@
-Current release 7.4.0
+Current release 7.5.0
^^^^^^^^^^^^^^^^^^^^^
-* Provide Built Distribution with Pywikibot (:pep:`427`)
-* Update `WRITE_ACTIONS` in used by :class:`api.Request<pywikibot.data.api.Request>`
-* Move :func:`get_closest_memento_url<pywikibot.data.memento.get_closest_memento_url>` from weblinkchecker script to memento module.
-* Add :mod:`memento module<pywikibot.data.memento>` to fix memento_client package (:phab:`T185561`)
-* L10N and i18n updates
-* Fix Flow board topic continuation when iterating in reverse (:phab:`T138323`)
-* Add Avestan transliteration
-* Use Response.json() instead of json.loads(Response.text)
-* Show an APIError if PetScanPageGenerator.query() fails (:phab:`T309538`)
-* `login.py` is now a utiliy script even for site-package installation (:phab:`T309290`)
-* `preload_sites.py` is now a utiliy script even for site-package installation (:phab:`T308912`)
-* :attr:`generator_completed<pywikibot.bot.BaseBot.generator_completed>` became a public attribute
-* Return gracefully from pwb.find_alternates if folder in user_script_paths does not exist (:phab:`T308910`)
+* *No changes yet*
Deprecations
^^^^^^^^^^^^
diff --git a/pywikibot/__metadata__.py b/pywikibot/__metadata__.py
index aafe5b9..8e1887d 100644
--- a/pywikibot/__metadata__.py
+++ b/pywikibot/__metadata__.py
@@ -11,7 +11,7 @@
__name__ = 'pywikibot'
-__version__ = '7.4.0'
+__version__ = '7.5.0.dev0'
__description__ = 'Python MediaWiki Bot Framework'
__maintainer__ = 'The Pywikibot team'
__maintainer_email__ = 'pywikibot(a)lists.wikimedia.org'
diff --git a/scripts/__init__.py b/scripts/__init__.py
index 4385672..3640623 100644
--- a/scripts/__init__.py
+++ b/scripts/__init__.py
@@ -29,4 +29,4 @@
#
# Distributed under the terms of the MIT license.
#
-__version__ = '7.4.0'
+__version__ = '7.5.0'
--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/808451
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: stable
Gerrit-Change-Id: Ib43f154a746b7c38bee6498371c5af0fd46816c6
Gerrit-Change-Number: 808451
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki(a)aol.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged