jenkins-bot has submitted this change and it was merged.
Change subject: Fix Site() properly
......................................................................
Fix Site() properly
If767d6fd5367d0e52ccacf7f2229112ed1c0933d caused a build breakage.
I5eb9d2b39768b047290ac8c14e0201114630daed was an interim fix.
This changeset reverts the interim fix, as that is a preformance
regression, and fixes the initial problem by not looking in a dict
for a key unnecessarily.
Bug: 68560
Change-Id: I10ad12bc70088bf0924ba0664c3fc01db45785da
---
M pywikibot/__init__.py
M pywikibot/family.py
2 files changed, 10 insertions(+), 6 deletions(-)
Approvals:
Ladsgroup: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py
index de518b8..fb452c7 100644
--- a/pywikibot/__init__.py
+++ b/pywikibot/__init__.py
@@ -463,14 +463,15 @@
# Fallback to config defaults
code = code or config.mylang
fam = fam or config.family
- if hasattr(fam, 'name'):
- fam = fam.name
interface = interface or config.site_interface
- user = user or config.usernames[fam].get(code, None) \
- or config.usernames[fam].get('*', None)
- sysop = sysop or config.sysopnames[fam].get(code, None) \
- or config.sysopnames[fam].get('*', None)
+ # config.usernames is initialised with a dict for each family name
+ family_name = str(fam)
+ if family_name in config.usernames:
+ user = user or config.usernames[family_name].get(code) \
+ or config.usernames[family_name].get('*')
+ sysop = sysop or config.sysopnames[family_name].get(code) \
+ or config.sysopnames[family_name].get('*')
try:
tmp = __import__('pywikibot.site', fromlist=[interface])
diff --git a/pywikibot/family.py b/pywikibot/family.py
index c70965d..e4c02a3 100644
--- a/pywikibot/family.py
+++ b/pywikibot/family.py
@@ -1021,6 +1021,9 @@
def __hash__(self):
return hash(self.name)
+ def __str__(self):
+ return self.name
+
def __repr__(self):
return 'Family("%s")' % self.name
--
To view, visit https://gerrit.wikimedia.org/r/149287
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I10ad12bc70088bf0924ba0664c3fc01db45785da
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: jenkins-bot <>
jenkins-bot has submitted this change and it was merged.
Change subject: Wikibase test fix
......................................................................
Wikibase test fix
The wikibase tests introduced recently are now failing.
They were introduced here:
Ic0e5ffd7526d71ca8d460f29ed37747a0b255930
That change passed all tests; see here:
https://travis-ci.org/wikimedia/pywikibot-core/builds/30325106
That log shows that it introduces a new warning like the following
and raised an APIError exception on an attempt to load an item.
WARNING: API warning (wbgetentities):
Unrecognized value for parameter 'sites': testwikidatawiki
That warning appears until travis build 1078, and then appears in 1079
https://travis-ci.org/wikimedia/pywikibot-core/jobs/30562987https://travis-ci.org/wikimedia/pywikibot-core/jobs/30661149
It appears to be a server config change that has fixed that
API warning and APIError exception, and now the exception is NoPage.
Change-Id: I3d1655b53bb11236545502634dad667ecef74d53
---
M tests/wikibase_tests.py
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
Ladsgroup: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/wikibase_tests.py b/tests/wikibase_tests.py
index 72381fb..37c9553 100644
--- a/tests/wikibase_tests.py
+++ b/tests/wikibase_tests.py
@@ -314,7 +314,7 @@
def test_item_save(self):
self.wdp = pywikibot.ItemPage(wikidatatest, 'Q6')
item = self.wdp.data_item()
- self.assertRaises(APIError, item.title)
+ self.assertRaises(pywikibot.NoPage, item.title)
self.assertRaises(pywikibot.PageNotSaved, self.wdp.save)
self.wdp.previousRevision()
self.assertEquals(self.wdp.langlinks(), [])
--
To view, visit https://gerrit.wikimedia.org/r/149255
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3d1655b53bb11236545502634dad667ecef74d53
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: jenkins-bot <>
Russell Blau has submitted this change and it was merged.
Change subject: fix lookup of family in config.usernames and config.sysopnames
......................................................................
fix lookup of family in config.usernames and config.sysopnames
using fam.name instead of the string representation for Family objects
bug: 68440
Change-Id: I5eb9d2b39768b047290ac8c14e0201114630daed
---
M pywikibot/__init__.py
1 file changed, 2 insertions(+), 0 deletions(-)
Approvals:
Russell Blau: Verified; Looks good to me, approved
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py
index 07a40ac..de518b8 100644
--- a/pywikibot/__init__.py
+++ b/pywikibot/__init__.py
@@ -463,6 +463,8 @@
# Fallback to config defaults
code = code or config.mylang
fam = fam or config.family
+ if hasattr(fam, 'name'):
+ fam = fam.name
interface = interface or config.site_interface
user = user or config.usernames[fam].get(code, None) \
--
To view, visit https://gerrit.wikimedia.org/r/148994
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I5eb9d2b39768b047290ac8c14e0201114630daed
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <ricordisamoa(a)openmailbox.org>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Russell Blau <russblau(a)imapmail.org>
Gerrit-Reviewer: jenkins-bot <>
jenkins-bot has submitted this change and it was merged.
Change subject: Simplify Site() fallback to config settings
......................................................................
Simplify Site() fallback to config settings
Also lightly document the sysop and interface parameters.
Change-Id: If767d6fd5367d0e52ccacf7f2229112ed1c0933d
---
M pywikibot/__init__.py
1 file changed, 22 insertions(+), 32 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py
index 83093f5..d1bdf76 100644
--- a/pywikibot/__init__.py
+++ b/pywikibot/__init__.py
@@ -431,46 +431,36 @@
def Site(code=None, fam=None, user=None, sysop=None, interface=None):
- """Return the specified Site object.
+ """A factory method to obtain a Site object.
- Returns a cached object if possible, otherwise instantiates a new one.
+ Site objects are cached and reused by this method.
- @param code: language code
+ By default rely on config settings. These defaults may all be overriden
+ using the method parameters.
+
+ @param code: language code (override config.mylang)
@type code: string
- @param fam: family name or object
+ @param fam: family name or object (override config.family)
@type fam: string or Family
- @param user: bot user name to use on this site
+ @param user: bot user name to use on this site (override config.usernames)
@type user: unicode
-
+ @param sysop: sysop user to use on this site (override config.sysopnames)
+ @type sysop: unicode
+ @param interface: site interface (override config.site_interface)
+ @type interface: string
"""
_logger = "wiki"
- if code is None:
- code = config.mylang
- if fam is None:
- fam = config.family
- if user is None:
- try:
- user = config.usernames[fam][code]
- except KeyError:
- user = None
- if user is None:
- try:
- user = config.usernames[fam]['*']
- except KeyError:
- user = None
- if sysop is None:
- try:
- sysop = config.sysopnames[fam][code]
- except KeyError:
- sysop = None
- if sysop is None:
- try:
- sysop = config.sysopnames[fam]['*']
- except KeyError:
- sysop = None
- if interface is None:
- interface = config.site_interface
+ # Fallback to config defaults
+ code = code or config.mylang
+ fam = fam or config.family
+ interface = interface or config.site_interface
+
+ user = user or config.usernames[fam].get(code, None) \
+ or config.usernames[fam].get('*', None)
+ sysop = sysop or config.sysopnames[fam].get(code, None) \
+ or config.sysopnames[fam].get('*', None)
+
try:
tmp = __import__('pywikibot.site', fromlist=[interface])
__Site = getattr(tmp, interface)
--
To view, visit https://gerrit.wikimedia.org/r/145691
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: If767d6fd5367d0e52ccacf7f2229112ed1c0933d
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Hashar <hashar(a)free.fr>
Gerrit-Reviewer: Hashar <hashar(a)free.fr>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
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 <>
jenkins-bot has submitted this change and it was merged.
Change subject: fix and reenable cosmetic_changes' standardizePageFooter()
......................................................................
fix and reenable cosmetic_changes' standardizePageFooter()
using category.aslink() instead of .title(asLink=True)
in textlib.categoryFormat(), thus preserving the sortKey.
this implicitly reverts I88b01681f59aab91d5f70e788eae3349b87455a8
bug: 66921
Change-Id: Ib0701600a300b2435ac8f2c3b8a55c89faf2c2fe
---
M pywikibot/textlib.py
M scripts/cosmetic_changes.py
2 files changed, 2 insertions(+), 3 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
Objections:
Xqt: There's a problem with this change, please improve
diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py
index 64dbf3c..bbac6a3 100644
--- a/pywikibot/textlib.py
+++ b/pywikibot/textlib.py
@@ -846,8 +846,7 @@
else:
catLinks = ['[[Category:%s]]' % category for category in categories]
else:
- catLinks = [category.title(asLink=True, allowInterwiki=False)
- for category in categories]
+ catLinks = [category.aslink() for category in categories]
if insite.category_on_one_line():
sep = ' '
diff --git a/scripts/cosmetic_changes.py b/scripts/cosmetic_changes.py
index f9f2479..8fc65cf 100755
--- a/scripts/cosmetic_changes.py
+++ b/scripts/cosmetic_changes.py
@@ -170,7 +170,7 @@
if self.site.sitename() == u'commons:commons' and self.namespace == 6:
text = self.commonsfiledesc(text)
text = self.fixSelfInterwiki(text)
-## bug 66921 text = self.standardizePageFooter(text)
+ text = self.standardizePageFooter(text)
text = self.fixSyntaxSave(text)
text = self.cleanUpLinks(text)
text = self.cleanUpSectionHeaders(text)
--
To view, visit https://gerrit.wikimedia.org/r/147845
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib0701600a300b2435ac8f2c3b8a55c89faf2c2fe
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <ricordisamoa(a)openmailbox.org>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Legoktm <legoktm.wikipedia(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Ricordisamoa <ricordisamoa(a)openmailbox.org>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot <>