jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/362209 )
Change subject: API Request: set uiprop only when ensuring 'userinfo' in meta
......................................................................
API Request: set uiprop only when ensuring 'userinfo' in meta
uiprop does not make sense, without 'userinfo' in meta, and only
generates an API warning for no benefit.
Bug: T169202
Change-Id: Ic8383abf344a5e09d98eaf5ddbd8068d1b0b9b40
---
M pywikibot/data/api.py
1 file changed, 7 insertions(+), 6 deletions(-)
Approvals:
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index ff4dcd9..4c28951 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -1688,12 +1688,13 @@
# Work around this by requiring userinfo only if 'tokens' and 'login'
# are not both set.
typep = self._params.get('type', [])
- if 'userinfo' not in meta and not ('tokens' in meta and 'login' in typep):
- meta = set(meta + ['userinfo'])
- self._params['meta'] = sorted(meta)
- uiprop = self._params.get("uiprop", [])
- uiprop = set(uiprop + ["blockinfo", "hasmsg"])
- self._params['uiprop'] = sorted(uiprop)
+ if not ('tokens' in meta and 'login' in typep):
+ if 'userinfo' not in meta:
+ meta = set(meta + ['userinfo'])
+ self._params['meta'] = sorted(meta)
+ uiprop = self._params.get("uiprop", [])
+ uiprop = set(uiprop + ["blockinfo", "hasmsg"])
+ self._params['uiprop'] = sorted(uiprop)
if 'prop' in self._params:
if self.site.has_extension('ProofreadPage'):
prop = set(self._params['prop'] + ['proofread'])
--
To view, visit https://gerrit.wikimedia.org/r/362209
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic8383abf344a5e09d98eaf5ddbd8068d1b0b9b40
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Zhuyifei1999 <zhuyifei1999(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot <>
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/361484 )
Change subject: Allow pywikibot to authenticate against a private wiki.
......................................................................
Allow pywikibot to authenticate against a private wiki.
Currently, pywikibot cannot authenticate if MediaWiki is configured
to require logins in order to read. This patch takes an approach
suggested by user @zhuyifei1999 in ticket T153903. It tells
pywikibot not to require the parameter "meta=userinfo" if
'tokens' in present in parameter 'meta' and 'login' is present in
parameter 'type'.
Bug: T153903
Change-Id: I55768b735dbddcf35dbb35b94e9ba493621ff51b
---
M pywikibot/data/api.py
1 file changed, 7 insertions(+), 1 deletion(-)
Approvals:
Zhuyifei1999: Looks good to me, but someone else must approve
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index 448394c..ff4dcd9 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -1682,7 +1682,13 @@
if self.action == 'query':
meta = self._params.get("meta", [])
- if "userinfo" not in meta:
+ # Special logic for private wikis (T153903).
+ # If the wiki requires login privileges to read articles, pywikibot
+ # will be blocked from accessing the userinfo.
+ # Work around this by requiring userinfo only if 'tokens' and 'login'
+ # are not both set.
+ typep = self._params.get('type', [])
+ if 'userinfo' not in meta and not ('tokens' in meta and 'login' in typep):
meta = set(meta + ['userinfo'])
self._params['meta'] = sorted(meta)
uiprop = self._params.get("uiprop", [])
--
To view, visit https://gerrit.wikimedia.org/r/361484
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I55768b735dbddcf35dbb35b94e9ba493621ff51b
Gerrit-PatchSet: 3
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Dbarrett <mediawiki(a)blazemonger.com>
Gerrit-Reviewer: Dbarrett <mediawiki(a)blazemonger.com>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Magul <tomasz.magulski(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: Zhuyifei1999 <zhuyifei1999(a)gmail.com>
Gerrit-Reviewer: jenkins-bot <>
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/361458 )
Change subject: [IMPR] Create items with interwiki using interwikidata.py
......................................................................
[IMPR] Create items with interwiki using interwikidata.py
If no foreign page had item, the script reported a conflict.
Now a new item is created with the page's interwiki.
I also removed InvalidTitle exception from the try statement
since it's already handled in textlib.getLanguageLinks.
Bug: T168575
Change-Id: Ic708890337ab8523f4fb2326771ce37b32fcc20c
---
M scripts/interwikidata.py
1 file changed, 12 insertions(+), 6 deletions(-)
Approvals:
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/scripts/interwikidata.py b/scripts/interwikidata.py
index e2fea57..9d46edf 100644
--- a/scripts/interwikidata.py
+++ b/scripts/interwikidata.py
@@ -111,7 +111,14 @@
'value': self.current_page.title()}
}
}
- summary = (u'Bot: New item with sitelink from %s'
+ for site, page in self.iwlangs.values():
+ if not page.exists():
+ continue
+ dbname = site.dbName()
+ title = page.title()
+ data['sitelinks'][dbname] = {'site': dbname, 'title': title}
+ data['labels'][site.lang] = {'language': site.lang, 'value': title}
+ summary = ('Bot: New item with sitelink(s) from %s'
% self.current_page.title(asLink=True, insite=self.repo))
item = pywikibot.ItemPage(self.repo)
@@ -155,11 +162,10 @@
warning('Interwiki %s does not exist, skipping...' %
iw_page.title(asLink=True))
continue
- except pywikibot.InvalidTitle:
- warning('Invalid title %s, skipping...' %
- iw_page.title(asLink=True))
- continue
- if len(wd_data) != 1:
+ if not wd_data:
+ # will create a new item with interwiki
+ return None
+ if len(wd_data) > 1:
warning('Interwiki conflict in %s, skipping...' %
self.current_page.title(asLink=True))
return False
--
To view, visit https://gerrit.wikimedia.org/r/361458
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic708890337ab8523f4fb2326771ce37b32fcc20c
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Matěj Suchánek <matejsuchanek97(a)gmail.com>
Gerrit-Reviewer: JAn Dudík <jan.dudik(a)gmail.com>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <Ladsgroup(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot <>