Hello PywikibotCommitWatcher,
I'd like you to do a code review. Please visit
https://gerrit.wikimedia.org/r/234734
to review the following change.
Change subject: WIP: Replacing old Bugzilla tickets with Phab.
......................................................................
WIP: Replacing old Bugzilla tickets with Phab.
A request was made to modify pywiki files with old references to bugzilla
tickets to phabricator ones. In the cases where the ticket was linked via
URL, I've not performed any change as those links still work as a
redirect. In those cases where the ticket was simply a number reference, I
updated it adding 2,000 to the ticket number and adding a 'T' before the
number, so it's clear it's a Phabricator task. I tag this as work in
progress because the files have changed since the ticket was opened and I
don't know whether further files will need amendment.
Bug: T94683
Change-Id: Ib775bfdbc96311ccb09ad9a1ee77b9970c09fd43
---
M pywikibot/data/api.py
M pywikibot/exceptions.py
M pywikibot/login.py
M pywikibot/page.py
M pywikibot/pagegenerators.py
M pywikibot/site.py
M pywikibot/textlib.py
M scripts/blockpageschecker.py
M scripts/reflinks.py
M scripts/unusedfiles.py
M tests/archivebot_tests.py
M tests/script_tests.py
M tests/site_tests.py
13 files changed, 27 insertions(+), 27 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/34/234734/1
diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index c85f851..dd7f555 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -1782,7 +1782,7 @@
def _is_wikibase_error_retryable(self, error):
ERR_MSG = u'edit-already-exists'
messages = error.pop("messages", None)
- # bug 66619, after gerrit 124323 breaking change we have a
+ # bug 66619 (T68619), after gerrit 124323 breaking change we have a
# list of messages
if isinstance(messages, list):
for item in messages:
@@ -1861,7 +1861,7 @@
if '*' in warning:
text = warning['*']
elif 'html' in warning:
- # Bugzilla 49978
+ # Phabricator T51978
text = warning['html']['*']
else:
pywikibot.warning(
@@ -2051,9 +2051,9 @@
del error['code'] # is added via class_name
e = APIMWException(class_name, **error)
- retry = class_name in ['DBConnectionError', # bug 62974
- 'DBQueryError', # bug 58158
- 'ReadOnlyError' # bug 59227
+ retry = class_name in ['DBConnectionError', # T64974
+ 'DBQueryError', # T60158
+ 'ReadOnlyError' # T61227
]
pywikibot.error("Detected MediaWiki API exception %s%s"
@@ -2078,8 +2078,8 @@
raise e
- # bugs 46535, 62126, 64494, 66619
- # maybe removed when it 46535 is solved
+ # Phab. tickets T48535, T64126, T68494, T68619
+ # maybe removed when T48535 is solved
if code == "failed-save" and \
self.action == 'wbeditentity' and \
self._is_wikibase_error_retryable(result["error"]):
@@ -2651,7 +2651,7 @@
# self.resultkey in data in last request.submit()
new_limit = min(self.query_limit, self.limit - count)
else:
- # only "(query-)continue" returned. See Bug 72209.
+ # only "(query-)continue" returned. See Bug T74209.
# increase new_limit to advance faster until new
# useful data are found again.
new_limit = min(new_limit * 2, self.query_limit)
diff --git a/pywikibot/exceptions.py b/pywikibot/exceptions.py
index a8a8beb..1e79596 100644
--- a/pywikibot/exceptions.py
+++ b/pywikibot/exceptions.py
@@ -290,7 +290,7 @@
"""
Page is a redirect to another site.
- This is considered invalid in Pywikibot. See Bug 73184.
+ This is considered invalid in Pywikibot. See Bug T75184.
"""
diff --git a/pywikibot/login.py b/pywikibot/login.py
index ac37803..26a07db 100644
--- a/pywikibot/login.py
+++ b/pywikibot/login.py
@@ -283,7 +283,7 @@
elif e.code == 'Illegal':
raise NoUsername(u"Username '%s' is invalid on %s"
% (self.username, self.site))
- # TODO: investigate other unhandled API codes (bug 73539)
+ # TODO: investigate other unhandled API codes (bug 75539)
if retry:
self.password = None
return self.login(retry=True)
diff --git a/pywikibot/page.py b/pywikibot/page.py
index 890796a..eb8eb9d 100644
--- a/pywikibot/page.py
+++ b/pywikibot/page.py
@@ -540,7 +540,7 @@
@return: dict
"""
if not hasattr(self, '_pageprops') or force:
- self._pageprops = {} # page may not have pageprops (see bug 54868)
+ self._pageprops = {} # page may not have pageprops (see bug T56868)
self.site.loadpageprops(self)
return self._pageprops
@@ -1402,7 +1402,7 @@
@return: a generator that yields Category objects.
"""
- # FIXME: bug 73561: withSortKey is ignored by Site.pagecategories
+ # FIXME: bug T75561: withSortKey is ignored by Site.pagecategories
if withSortKey:
raise NotImplementedError('withSortKey is not implemented')
@@ -3314,7 +3314,7 @@
self.labels = {}
if 'labels' in self._content:
for lang in self._content['labels']:
- if 'removed' not in self._content['labels'][lang]: # Bug 54767
+ if 'removed' not in self._content['labels'][lang]: # Bug T56767
self.labels[lang] = self._content['labels'][lang]['value']
# descriptions
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index 3afe643..3ed516f 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -684,7 +684,7 @@
u'How many images do you want to load?')
gen = NewimagesPageGenerator(total=int(limit), site=self.site)
elif arg.startswith('-newpages'):
- # partial workaround for bug 67249
+ # partial workaround for bug T69249
# to use -namespace/ns with -newpages, -ns must be given
# before -newpages
# otherwise default namespace is 0
diff --git a/pywikibot/site.py b/pywikibot/site.py
index 3f3fe9f..098ec65 100644
--- a/pywikibot/site.py
+++ b/pywikibot/site.py
@@ -2727,7 +2727,7 @@
def page_isredirect(self, page):
"""Return True if and only if page is a redirect."""
if not hasattr(page, "_isredir"):
- page._isredir = False # bug 54684
+ page._isredir = False # bug T56684
self.loadpageinfo(page)
return page._isredir
@@ -5297,7 +5297,7 @@
comment=comment, text=text,
filekey=_file_key)
elif source_filename:
- # TODO: Dummy value to allow also Unicode names, see bug 73661
+ # TODO: Dummy value to allow also Unicode names, see bug T75661
mime_filename = 'FAKE-NAME'
# upload local file
# make sure file actually exists
diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py
index bd7adbd..4bd66b6 100644
--- a/pywikibot/textlib.py
+++ b/pywikibot/textlib.py
@@ -300,7 +300,7 @@
# We cannot just insert the new string, as it may contain regex
# group references such as \2 or \g<name>.
# On the other hand, this approach does not work because it
- # can't handle lookahead or lookbehind (see bug #1731008):
+ # can't handle lookahead or lookbehind (see bug #1731008)(bug not found):
#
# replacement = old.sub(new, text[match.start():match.end()])
# text = text[:match.start()] + replacement + text[match.end():]
@@ -1726,7 +1726,7 @@
if m:
marker = self.findmarker(txt)
- # month and day format might be identical (e.g. see bug 69315),
+ # month and day format might be identical (e.g. see bug T71315),
# avoid to wipe out day, after month is matched.
# replace all matches but the last two
# (i.e. allow to search for dd. mm.)
diff --git a/scripts/blockpageschecker.py b/scripts/blockpageschecker.py
index c4ca412..f00a2ea 100755
--- a/scripts/blockpageschecker.py
+++ b/scripts/blockpageschecker.py
@@ -297,7 +297,7 @@
continue
# FIXME: This check does not work :
# PreloadingGenerator cannot set correctly page.editRestriction
- # (see bug 55322)
+ # (see bug T57322)
# if not page.canBeEdited():
# pywikibot.output("%s is sysop-protected : this account can't edit "
# "it! Skipping..." % pagename)
diff --git a/scripts/reflinks.py b/scripts/reflinks.py
index 6b3978f..a0c4ed0 100755
--- a/scripts/reflinks.py
+++ b/scripts/reflinks.py
@@ -710,7 +710,7 @@
if 'utf-8' not in enc:
enc.append('utf-8')
try:
- u = linkedpagetext.decode(enc[0]) # Bug 67410
+ u = linkedpagetext.decode(enc[0]) # Bug T69410
except (UnicodeDecodeError, LookupError) as e:
pywikibot.output(u'%s : Decoding error - %s' % (ref.link, e))
continue
diff --git a/scripts/unusedfiles.py b/scripts/unusedfiles.py
index 30140aa..26f62dd 100755
--- a/scripts/unusedfiles.py
+++ b/scripts/unusedfiles.py
@@ -68,7 +68,7 @@
generator = pagegenerators.PreloadingGenerator(generator)
for image in generator:
if not image.exists():
- pywikibot.output(u"File '%s' does not exist (see bug 69133)."
+ pywikibot.output(u"File '%s' does not exist (see bug T71133)."
% image.title())
continue
# Use fileUrl() and fileIsShared() to confirm it is local media
diff --git a/tests/archivebot_tests.py b/tests/archivebot_tests.py
index 819faf1..1e99b1e 100644
--- a/tests/archivebot_tests.py
+++ b/tests/archivebot_tests.py
@@ -43,7 +43,7 @@
def test_archivebot(self, code=None):
"""Test archivebot for one site."""
site = self.get_site(code)
- if code != 'de': # bug 67663
+ if code != 'de': # bug T69663
page = pywikibot.Page(site, 'user talk:xqt')
else:
page = pywikibot.Page(site, 'user talk:ladsgroup')
diff --git a/tests/script_tests.py b/tests/script_tests.py
index 3fd9596..0b4f43d 100644
--- a/tests/script_tests.py
+++ b/tests/script_tests.py
@@ -126,7 +126,7 @@
# and not backtraces starting deep in the pywikibot package.
no_args_expected_results = {
# TODO: until done here, remember to set editor = None in user_config.py
- 'editarticle': 'Nothing changed', # This masks related bug 68645 but that
+ 'editarticle': 'Nothing changed', # This masks related bug T70645 but that
# bug is more broadly about config
# rather than editarticle.
'freebasemappingupload': 'Cannot find ',
@@ -139,7 +139,7 @@
'replace': 'Press Enter to use this automatic message',
'script_wui': 'Pre-loading all relevant page contents',
'shell': ('>>> ', 'Welcome to the'),
- 'transferbot': 'Target site not different from source site', # Bug 68662
+ 'transferbot': 'Target site not different from source site', # Bug T70662
'unusedfiles': ('Working on', None),
'watchlist': 'Retrieving watchlist',
diff --git a/tests/site_tests.py b/tests/site_tests.py
index 5b23525..12c9a17 100644
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -605,7 +605,7 @@
for cat in mysite.allcategories(total=5, prefix="Def"):
self.assertIsInstance(cat, pywikibot.Category)
self.assertTrue(cat.title(withNamespace=False).startswith("Def"))
- # Bug # 15985 - reverse and start combined; fixed in v 1.14
+ # Bug # T17985 - reverse and start combined; fixed in v 1.14
for cat in mysite.allcategories(total=5, start="Hij", reverse=True):
self.assertIsInstance(cat, pywikibot.Category)
self.assertLessEqual(cat.title(withNamespace=False), "Hij")
@@ -664,7 +664,7 @@
self.assertIsInstance(impage, pywikibot.FilePage)
self.assertTrue(mysite.page_exists(impage))
self.assertGreaterEqual(impage.title(withNamespace=False), "Ba")
- # Bug # 15985 - reverse and start combined; fixed in v 1.14
+ # Bug # T17985 - reverse and start combined; fixed in v 1.14
for impage in mysite.allimages(start="Da", reverse=True, total=5):
self.assertIsInstance(impage, pywikibot.FilePage)
self.assertTrue(mysite.page_exists(impage))
@@ -922,7 +922,7 @@
self.assertIsInstance(using, pywikibot.Page)
if using.isRedirectPage():
print('{0} is a redirect, although just non-redirects were '
- 'searched. See also bug 73120'.format(using))
+ 'searched. See also bug T75120'.format(using))
self.assertFalse(using.isRedirectPage())
--
To view, visit https://gerrit.wikimedia.org/r/234734
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib775bfdbc96311ccb09ad9a1ee77b9970c09fd43
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: MarcoAurelio <strigiwm(a)gmail.com>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: PywikibotCommitWatcher <pywikibot-commits(a)lists.wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>
Build Update for wikimedia/pywikibot-core
-------------------------------------
Build: #2751
Status: Passed
Duration: 34 minutes and 54 seconds
Commit: 5f4eabe (master)
Author: Fabian Neundorf
Message: [FIX] rollback: Use Revision instance properly
The previous implementation assumed that the revisions are ordered by the id
while they are in fact ordered by the timestamp. It also did iterate over the
revision ids and not over the `Revision` instance which caused the loop to
fail.
Now `APISite.rollbackpage` also requires the user to be logged in.
Change-Id: I280a4781f0f293e09dd94e14007f49cee30f60e3
View the changeset: https://github.com/wikimedia/pywikibot-core/compare/88bf47a9c3d7...5f4eabe9…
View the full build log and details: https://travis-ci.org/wikimedia/pywikibot-core/builds/78041830
--
You can configure recipients for build notifications in your .travis.yml file. See http://docs.travis-ci.com/user/notifications
jenkins-bot has submitted this change and it was merged.
Change subject: [FIX] rollback: Use Revision instance properly
......................................................................
[FIX] rollback: Use Revision instance properly
The previous implementation assumed that the revisions are ordered by the id
while they are in fact ordered by the timestamp. It also did iterate over the
revision ids and not over the `Revision` instance which caused the loop to
fail.
Now `APISite.rollbackpage` also requires the user to be logged in.
Change-Id: I280a4781f0f293e09dd94e14007f49cee30f60e3
---
M pywikibot/site.py
1 file changed, 3 insertions(+), 1 deletion(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/site.py b/pywikibot/site.py
index 1da4bc5..68bb399 100644
--- a/pywikibot/site.py
+++ b/pywikibot/site.py
@@ -4702,6 +4702,7 @@
"alreadyrolled": "Page [[%(title)s]] already rolled back; action aborted.",
} # other errors shouldn't arise because we check for those errors
+ @must_be('user')
def rollbackpage(self, page, **kwargs):
"""Roll back page to version before last user's edits.
@@ -4720,7 +4721,8 @@
% page.title(asLink=True))
last_rev = page.latest_revision
last_user = last_rev.user
- for rev in sorted(list(page._revisions.keys()), reverse=True):
+ for rev in sorted(page._revisions.values(), reverse=True,
+ key=lambda r: r.timestamp):
# start with most recent revision first
if rev.user != last_user:
break
--
To view, visit https://gerrit.wikimedia.org/r/234988
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I280a4781f0f293e09dd94e14007f49cee30f60e3
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: jenkins-bot <>