jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/592478 )
Change subject: [doc] Update ROADMAP.rst
......................................................................
[doc] Update ROADMAP.rst
Change-Id: Iae48251eb5c16c1c9824f83e9b9ca1ff8840cf86
---
M ROADMAP.rst
1 file changed, 3 insertions(+), 1 deletion(-)
Approvals:
Dvorapa: Looks good to me, but someone else must approve
Framawiki: Looks good to me, approved
jenkins-bot: Verified
diff --git a/ROADMAP.rst b/ROADMAP.rst
index cd28ee5..af656e2 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -1,6 +1,8 @@
Current release
~~~~~~~~~~~~~~~
+* tools.ip_regexp has been removed (T174482)
+* Page.getVersionHistory and Page.fullVersionHistory() methods has been desupported (T136513, T151110)
* Update wikimediachapter_family (T250802)
* Raise SpamblacklistError with spamblacklist APIError (T249436)
* Do not removeUselessSpaces inside source/syntaxhighlight tags (T250469)
@@ -13,11 +15,11 @@
Future releases
~~~~~~~~~~~~~~~
+* Page.getVersionHistory and Page.fullVersionHistory() methods will be removed (T136513, T151110)
* 3.0.20200405: Site and Page methods deprecated for 10 years or longer will be removed
* 3.0.20200405: Usage of SkipPageError with BaseBot will be removed
* 3.0.20200326: Functions dealing with stars list will be removed
* 3.0.20200306: Support of MediaWiki releases below 1.19 will be dropped (T245350)
* 3.0.20200306: tools.ip will be dropped in favour of tools.is_IP (T243171)
-* 3.0.20200306: tools.ip_regexp will be removed
* 3.0.20200111: Support for Python 3.4 will be dropped (T239542)
* 3.0.20190722: Support for Python 2 will be dropped in 4/2020 (T213287)
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/592478
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Iae48251eb5c16c1c9824f83e9b9ca1ff8840cf86
Gerrit-Change-Number: 592478
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Dvorapa <dvorapa(a)seznam.cz>
Gerrit-Reviewer: Framawiki <framawiki(a)tools.wmflabs.org>
Gerrit-Reviewer: jenkins-bot (75)
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/593495 )
Change subject: [cleanup] Replace deprecated getcurrenttime by server_time method
......................................................................
[cleanup] Replace deprecated getcurrenttime by server_time method
Change-Id: I36537b7da01eeb2da421c09063a23897495da3e0
---
M pywikibot/__init__.py
M scripts/newitem.py
2 files changed, 4 insertions(+), 5 deletions(-)
Approvals:
D3r1ck01: Looks good to me, but someone else must approve
Framawiki: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/__init__.py b/pywikibot/__init__.py
index 7866b27..6a0b4e1 100644
--- a/pywikibot/__init__.py
+++ b/pywikibot/__init__.py
@@ -153,9 +153,8 @@
when previously they returned a MediaWiki string representation, these
methods also accept a Timestamp object, in which case they return a clone.
- Use Site.getcurrenttime() for the current time; this is more reliable
+ Use Site.server_time() for the current time; this is more reliable
than using Timestamp.utcnow().
-
"""
mediawikiTSFormat = '%Y%m%d%H%M%S'
diff --git a/scripts/newitem.py b/scripts/newitem.py
index 0ff8810..79eeb0e 100755
--- a/scripts/newitem.py
+++ b/scripts/newitem.py
@@ -21,7 +21,7 @@
"""
#
-# (C) Pywikibot team, 2014-2019
+# (C) Pywikibot team, 2014-2020
#
# Distributed under the terms of the MIT license.
#
@@ -56,9 +56,9 @@
self.generator = generator
self.pageAge = self.getOption('pageage')
self.lastEdit = self.getOption('lastedit')
- self.pageAgeBefore = self.repo.getcurrenttime() - timedelta(
+ self.pageAgeBefore = self.repo.server_time() - timedelta(
days=self.pageAge)
- self.lastEditBefore = self.repo.getcurrenttime() - timedelta(
+ self.lastEditBefore = self.repo.server_time() - timedelta(
days=self.lastEdit)
pywikibot.output('Page age is set to {0} days so only pages created'
'\nbefore {1} will be considered.'
--
To view, visit https://gerrit.wikimedia.org/r/593495
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I36537b7da01eeb2da421c09063a23897495da3e0
Gerrit-Change-Number: 593495
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki(a)aol.com>
Gerrit-Reviewer: Dalba <dalba.wiki(a)gmail.com>
Gerrit-Reviewer: Dvorapa <dvorapa(a)seznam.cz>
Gerrit-Reviewer: Framawiki <framawiki(a)tools.wmflabs.org>
Gerrit-Reviewer: jenkins-bot (75)
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/593729 )
Change subject: [IMPR] Unify and extend formats for setting sitelinks
......................................................................
[IMPR] Unify and extend formats for setting sitelinks
Both list and dict of sitelinks will be accepted. A sitelink
can be represented with JSON as a dict, Page object, Baselink
object or a string (if the input is a dictionary).
Although SiteLink objects inherit from Baselink, they get
specific handling, so that there is convenient way to set
a sitelink with badges.
Bug: T225863
Bug: T251512
Change-Id: Ie560b8dd72201f4e71d524af326dac8067774ad2
---
M pywikibot/page/__init__.py
1 file changed, 37 insertions(+), 12 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/page/__init__.py b/pywikibot/page/__init__.py
index 9f5c11e..573f24d 100644
--- a/pywikibot/page/__init__.py
+++ b/pywikibot/page/__init__.py
@@ -3966,25 +3966,50 @@
return cls(repo, data)
@classmethod
+ def _extract_JSON(cls, obj):
+ if isinstance(obj, SiteLink):
+ return obj.toJSON()
+ elif isinstance(obj, BaseLink):
+ db_name = cls.getdbName(obj.site)
+ return {'site': db_name, 'title': obj.title}
+ elif isinstance(obj, Page):
+ db_name = cls.getdbName(obj.site)
+ return {'site': db_name, 'title': obj.title()}
+ else:
+ return obj
+
+ @classmethod
def normalizeData(cls, data):
"""
Helper function to expand data into the Wikibase API structure.
@param data: Data to normalize
- @type data: list
+ @type data: list or dict
- @return: the altered dict from parameter data.
+ @return: The dict with normalized data
@rtype: dict
"""
norm_data = {}
- for obj in data:
- if isinstance(obj, Page):
- db_name = obj.site.dbName()
- norm_data[db_name] = {'site': db_name, 'title': obj.title()}
- else:
- # TODO: Do some verification here
+ if isinstance(data, dict):
+ for key, obj in data.items():
+ key = cls.getdbName(key)
+ json = cls._extract_JSON(obj)
+ if isinstance(json, str):
+ json = {'site': key, 'title': json}
+ elif key != json['site']:
+ raise ValueError(
+ "Key '{}' doesn't match the site of the value: '{}'"
+ .format(key, json['site']))
+ norm_data[key] = json
+ else:
+ for obj in data:
+ json = cls._extract_JSON(obj)
+ if not isinstance(json, dict):
+ raise ValueError(
+ "Couldn't determine the site and title of the value: "
+ '{!r}'.format(json))
db_name = obj['site']
- norm_data[db_name] = obj
+ norm_data[db_name] = json
return norm_data
def toJSON(self, diffto=None):
@@ -4168,7 +4193,7 @@
@param data: The dict to normalize
@type data: dict
- @return: the altered dict from parameter data.
+ @return: The dict with normalized data
@rtype: dict
"""
norm_data = {}
@@ -4919,7 +4944,7 @@
"""
Set sitelinks. Calls setSitelinks().
- A sitelink can either be a Page object,
+ A sitelink can be a Page object, a BaseLink object
or a {'site':dbname,'title':title} dictionary.
"""
self.setSitelinks([sitelink], **kwargs)
@@ -4950,7 +4975,7 @@
Set sitelinks.
Sitelinks should be a list. Each item in the
- list can either be a Page object, or a dict
+ list can either be a Page object, a BaseLink object, or a dict
with a value for 'site' and 'title'.
"""
data = {'sitelinks': sitelinks}
--
To view, visit https://gerrit.wikimedia.org/r/593729
To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie560b8dd72201f4e71d524af326dac8067774ad2
Gerrit-Change-Number: 593729
Gerrit-PatchSet: 3
Gerrit-Owner: Matěj Suchánek <matejsuchanek97(a)gmail.com>
Gerrit-Reviewer: Lokal Profil <andre.costa(a)wikimedia.se>
Gerrit-Reviewer: Matěj Suchánek <matejsuchanek97(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot (75)