John Vandenberg has submitted this change and it was merged.
Change subject: Page: ValueError with site as source and empty title
......................................................................
Page: ValueError with site as source and empty title
Created BasePage() class in order to allow different behaviour in
subclasses Page and WikibasePage.
Page() will raise ValueError if no or empty string is provided as
title when Site is used as source, as api.php cannot handle an
empty string as title.
WikibasePage() will be able to be instantiated with minimal
constructor values.
Also fixed pep257 errors in:
- tests/page_tests.py
- tests/wikibase_tests.py
Bug 60381
Change-Id: Iba0d3d7a53a434301fbea4261a0efda24ffd8af1
---
M pywikibot/page.py
M tests/page_tests.py
2 files changed, 61 insertions(+), 15 deletions(-)
Approvals:
John Vandenberg: Verified; Looks good to me, approved
diff --git a/pywikibot/page.py b/pywikibot/page.py
index 2c3db36..5a4994c 100644
--- a/pywikibot/page.py
+++ b/pywikibot/page.py
@@ -63,17 +63,18 @@
# Note: Link objects (defined later on) represent a wiki-page's title, while
# Page objects (defined here) represent the page itself, including its contents.
-class Page(pywikibot.UnicodeMixin, ComparableMixin):
+class BasePage(pywikibot.UnicodeMixin, ComparableMixin):
- """Page: A MediaWiki page.
+ """BasePage: Base object for a MediaWiki page.
This object only implements internally methods that do not require
reading from or writing to the wiki. All other methods are delegated
to the Site object.
+ Will be subclassed by Page and WikibasePage.
+
"""
- @deprecated_args(insite=None, defaultNamespace="ns")
def __init__(self, source, title=u"", ns=0):
"""Instantiate a Page object.
@@ -105,6 +106,9 @@
@type ns: int
"""
+ if title is None:
+ raise ValueError(u'Title cannot be None.')
+
if isinstance(source, pywikibot.site.BaseSite):
self._link = Link(title, source=source, defaultNamespace=ns)
self._revisions = {}
@@ -1815,6 +1819,21 @@
pywikibot.warning(u"Page.replaceImage() is no longer supported.")
+class Page(BasePage):
+
+ """Page: A MediaWiki page."""
+
+ @deprecate_arg("insite", None)
+ @deprecate_arg("defaultNamespace", "ns")
+ def __init__(self, source, title=u"", ns=0):
+ """Instantiate a Page object."""
+ if isinstance(source, pywikibot.site.BaseSite):
+ if not title:
+ raise ValueError(u'Title must be specified and not empty '
+ 'if source is a Site.')
+ super(Page, self).__init__(source, title, ns)
+
+
class FilePage(Page):
"""A subclass of Page representing a file description page.
@@ -1825,7 +1844,7 @@
@deprecate_arg("insite", None)
def __init__(self, source, title=u""):
"""Constructor."""
- Page.__init__(self, source, title, 6)
+ super(FilePage, self).__init__(source, title, 6)
if self.namespace() != 6:
raise ValueError(u"'%s' is not in the file namespace!" % title)
@@ -2606,7 +2625,7 @@
)
-class WikibasePage(Page):
+class WikibasePage(BasePage):
"""
The base page for the Wikibase extension.
@@ -2679,7 +2698,7 @@
self._namespace = entity_type_ns
kwargs['ns'] = self._namespace.id
- Page.__init__(self, site, title, **kwargs)
+ super(WikibasePage, self).__init__(site, title, **kwargs)
# If a title was not provided,
# avoid checks which may cause an exception.
@@ -3066,7 +3085,7 @@
-1 or None for an empty item.
@type title: str
"""
- # Special case for empty item
+ # Special case for empty item.
if title is None or title == '-1':
super(ItemPage, self).__init__(site, u'-1', ns=site.item_namespace)
self.id = u'-1'
diff --git a/tests/page_tests.py b/tests/page_tests.py
index c5213f5..ab229ea 100644
--- a/tests/page_tests.py
+++ b/tests/page_tests.py
@@ -96,7 +96,7 @@
]
def testNamespaces(self):
- """Test that Link() normalizes namespace names"""
+ """Test that Link() normalizes namespace names."""
for num in self.namespaces:
for prefix in self.namespaces[num]:
l = pywikibot.page.Link(prefix + list(self.titles.keys())[0],
@@ -108,7 +108,7 @@
self.assertEqual(m.namespace, num)
def testTitles(self):
- """Test that Link() normalizes titles"""
+ """Test that Link() normalizes titles."""
for title in self.titles:
for num in (0, 1):
l = pywikibot.page.Link(self.namespaces[num][0] + title,
@@ -255,12 +255,12 @@
cached = True
def testSite(self):
- """Test site() method"""
+ """Test site() method."""
mainpage = self.get_mainpage()
self.assertEqual(mainpage.site, self.site)
def testNamespace(self):
- """Test namespace() method"""
+ """Test namespace() method."""
mainpage = self.get_mainpage()
maintalk = mainpage.toggleTalkPage()
@@ -270,6 +270,35 @@
badpage = self.get_missing_article()
self.assertEqual(badpage.namespace(), 0)
+
+ def testBasePageConstructor(self):
+ """Test BasePage constructor."""
+ site = self.get_site()
+
+ # Should not raise an error as the constructor only requires
+ # the site parameter, with the title parameter defaulted to
+ # empty string
+ page = pywikibot.page.BasePage(site)
+ self.assertEqual(page.title(), u'')
+ page = pywikibot.page.BasePage(site, title=u'')
+ self.assertEqual(page.title(), u'')
+ self.assertRaises(ValueError, pywikibot.page.BasePage, site, title=None)
+
+ def testPageConstructor(self):
+ """Test Page constructor."""
+ site = self.get_site()
+ mainpage = self.get_mainpage()
+
+ # Test that Page() needs a title when Site is used as source.
+ self.assertRaises(ValueError, pywikibot.Page, site)
+ self.assertRaises(ValueError, pywikibot.Page, site, '')
+
+ # Test Page as source.
+ p1 = pywikibot.Page(mainpage)
+ self.assertEqual(p1, mainpage)
+
+ # Test not valid source.
+ self.assertRaises(pywikibot.Error, pywikibot.Page, 'dummy')
def testTitle(self):
"""Test title() method options in article namespace."""
@@ -378,9 +407,7 @@
self.assertIsInstance(mainpage.purge(), bool)
def testIsDisambig(self):
- """
- Test the integration with Extension:Disambiguator.
- """
+ """Test the integration with Extension:Disambiguator."""
site = self.get_site()
if not site.has_extension('Disambiguator'):
raise unittest.SkipTest('Disambiguator extension not loaded on test site')
@@ -528,7 +555,7 @@
cached = True
def test_isEmptyCategory(self):
- """Test if category is empty or not"""
+ """Test if category is empty or not."""
site = self.get_site()
cat_empty = pywikibot.Category(site, u'Category:foooooo')
cat_not_empty = pywikibot.Category(site, u'Category:Wikipedia categories')
--
To view, visit https://gerrit.wikimedia.org/r/163305
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iba0d3d7a53a434301fbea4261a0efda24ffd8af1
Gerrit-PatchSet: 10
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com>
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: Nullzero <nullzero.free(a)gmail.com>
Gerrit-Reviewer: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: jenkins-bot <>
jenkins-bot has submitted this change and it was merged.
Change subject: archivebot.py: make timestripper more robust
......................................................................
archivebot.py: make timestripper more robust
Timestripper is made more robust stripping from text parts that
are not supposed to contain timestamps.
This should reduce false positive matches.
Point 1) of observed archivebot problems on cswiki in bug 72047.
Bug: 72047
Change-Id: I715e074dedb7677bce18d20e2004c9614546e6b9
---
M pywikibot/textlib.py
1 file changed, 7 insertions(+), 0 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py
index 4c74cef..4306799 100644
--- a/pywikibot/textlib.py
+++ b/pywikibot/textlib.py
@@ -1252,6 +1252,8 @@
self.pdayR,
]
+ self.linkP = compileLinkR()
+
def findmarker(self, text, base=u'@@', delta='@'):
"""Find a string which is not part of text."""
while base in text:
@@ -1303,6 +1305,11 @@
"""
# match date fields
dateDict = dict()
+ # Remove parts that are not supposed to contain the timestamp, in order
+ # to reduce false positives.
+ line = removeDisabledParts(line)
+ line = self.linkP.sub('', line) # remove external links
+
line = self.fix_digits(line)
for pat in self.patterns:
line, matchDict = self.last_match_and_replace(line, pat)
--
To view, visit https://gerrit.wikimedia.org/r/167406
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I715e074dedb7677bce18d20e2004c9614546e6b9
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Mpaa <mpaa.wiki(a)gmail.com>
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: jenkins-bot <>
John Vandenberg has submitted this change and it was merged.
Change subject: [FIX] input_choice: get length of list copy
......................................................................
[FIX] input_choice: get length of list copy
If the parameters have been zipped with Python 3 the options are at
first an zip object where len() doesn't work. So as long as list() does
work on the options it's fine and we use that length then.
Change-Id: Ica95745c2bcc0490e93ae35510e95d5073f8cb94
---
M pywikibot/userinterfaces/terminal_interface_base.py
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/userinterfaces/terminal_interface_base.py b/pywikibot/userinterfaces/terminal_interface_base.py
index e50f5b9..f86859f 100755
--- a/pywikibot/userinterfaces/terminal_interface_base.py
+++ b/pywikibot/userinterfaces/terminal_interface_base.py
@@ -232,9 +232,9 @@
options. If default is not a shortcut, it'll return -1.
@rtype: int (if not return_shortcut), lowercased basestring (otherwise)
"""
+ options = list(options)
if len(options) == 0:
raise ValueError(u'No options are given.')
- options = list(options)
if automatic_quit is True:
options += [('Quit', 'q')]
quit_index = len(options) - 1
--
To view, visit https://gerrit.wikimedia.org/r/168229
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ica95745c2bcc0490e93ae35510e95d5073f8cb94
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: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: jenkins-bot <>
jenkins-bot has submitted this change and it was merged.
Change subject: [FEAT] Request: Support simplified continuation
......................................................................
[FEAT] Request: Support simplified continuation
With version 1.25wmf5 a warning is emitted that the continue parameter
is going to change (af11268d05d98d27d99cfee9264d649a62c2c816). It is
possible to avoid that warning by explicitly telling the server which
continuation mode to expect.
This adds the ability of QueryGenerator to use the simplified
continuation method as soon as possible.
If the server is using a version of at least 1.25wmf5 it'll
automatically 'rawcontinue' to the request if neither 'continue' nor
'rawcontinue' are set. This will avoid any warning emitted and in the
future (if by default it uses the simplified continuation mode) it'll
use the old continuation mode for which the scripts are probably
written. To avoid an infinite loop, because requesting the server
version requires a request which requires (raw-)continue in the
parameters, siteinfo uses the simplified continuation mode by always
adding "continue=''" to the parameters.
Change-Id: Iddbf4922c60c0f3900b88cb81e4c176855e33fc3
---
M pywikibot/data/api.py
M pywikibot/site.py
2 files changed, 51 insertions(+), 21 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index 8a0dda3..0ecaeae 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -196,6 +196,8 @@
>>> data = r.submit() # doctest: +IGNORE_UNICODE
>>> isinstance(data, dict)
True
+ >>> set(['query', 'batchcomplete', 'warnings']).issuperset(data.keys())
+ True
>>> 'query' in data
True
>>> sorted(data[u'query'].keys()) # doctest: +IGNORE_UNICODE
@@ -376,6 +378,13 @@
inprop = self._params.get("inprop", [])
info = set(inprop + ["protection", "talkid", "subjectid"])
self._params["info"] = list(info)
+ # When neither 'continue' nor 'rawcontinue' is present and the
+ # version number is at least 1.25wmf5 we add a dummy rawcontinue
+ # parameter. Querying siteinfo is save as it adds 'continue'.
+ if ('continue' not in self._params and
+ 'rawcontinue' not in self._params and
+ LV(self.site.version()) >= LV('1.25wmf5')):
+ self._params['rawcontinue'] = ['']
if "maxlag" not in self._params and config.maxlag:
self._params["maxlag"] = [str(config.maxlag)]
if "format" not in self._params:
@@ -828,7 +837,7 @@
"""Base class for iterators that handle responses to API action=query.
By default, the iterator will iterate each item in the query response,
- and use the query-continue element, if present, to continue iterating as
+ and use the (query-)continue element, if present, to continue iterating as
long as the wiki returns additional values. However, if the iterator's
limit attribute is set to a positive int, the iterator will stop after
iterating that many values. If limit is negative, the limit parameter
@@ -868,6 +877,14 @@
% self.__class__.__name__)
kwargs["indexpageids"] = "" # always ask for list of pageids
+ if LV(self.site.version()) < LV('1.21'):
+ self.continue_name = 'query-continue'
+ self.continue_update = self._query_continue
+ else:
+ self.continue_name = 'continue'
+ self.continue_update = self._continue
+ # Explicitly enable the simplified continuation
+ kwargs['continue'] = ''
self.request = Request(**kwargs)
self.prefix = None
self.api_limit = None
@@ -881,7 +898,7 @@
else: # to look for when iterating
self.resultkey = self.module
- # usually the query-continue key is the same as the querymodule,
+ # usually the (query-)continue key is the same as the querymodule,
# but not always
# API can return more than one query-continue key, if multiple properties
# are requested by the query, e.g.
@@ -1003,6 +1020,26 @@
self.request[self.prefix + "namespace"] = namespaces
return
+ def _query_continue(self):
+ if all(key not in self.data[self.continue_name]
+ for key in self.continuekey):
+ pywikibot.log(
+ u"Missing '%s' key(s) in ['%s'] value."
+ % (self.continuekey, self.continue_name))
+ return True
+ for query_continue_pair in self.data['query-continue'].values():
+ self._add_continues(query_continue_pair)
+
+ def _continue(self):
+ self._add_continues(self.data['continue'])
+
+ def _add_continues(self, continue_pair):
+ for key, value in continue_pair.items():
+ # query-continue can return ints (continue too?)
+ if isinstance(value, int):
+ value = str(value)
+ self.request[key] = value
+
def __iter__(self):
"""Submit request and iterate the response based on self.resultkey.
@@ -1023,7 +1060,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 72209.
# increase new_limit to advance faster until new
# useful data are found again.
new_limit = min(new_limit * 2, self.query_limit)
@@ -1117,35 +1154,25 @@
# self.resultkey in data in last request.submit()
previous_result_had_data = True
else:
- # if query-continue is present, self.resultkey might not have been
- # fetched yet
- if "query-continue" not in self.data:
+ # if (query-)continue is present, self.resultkey might not have
+ # been fetched yet
+ if self.continue_name not in self.data:
# No results.
return
# self.resultkey not in data in last request.submit()
- # only "query-continue" was retrieved.
+ # only "(query-)continue" was retrieved.
previous_result_had_data = False
if self.module == "random" and self.limit:
- # "random" module does not return "query-continue"
+ # "random" module does not return "(query-)continue"
# now we loop for a new random query
del self.data # a new request is needed
continue
- if "query-continue" not in self.data:
+ if self.continue_name not in self.data:
return
- if all(key not in self.data["query-continue"] for key in self.continuekey):
- pywikibot.log(
- u"Missing '%s' key(s) in ['query-continue'] value."
- % self.continuekey)
+ if self.continue_update():
return
- query_continue_pairs = self.data["query-continue"].values()
- for query_continue_pair in query_continue_pairs:
- for key, value in query_continue_pair.items():
- # query-continue can return ints
- if isinstance(value, int):
- value = str(value)
- self.request[key] = value
- del self.data # a new request with query-continue is needed
+ del self.data # a new request with (query-)continue is needed
def result(self, data):
"""Process result data as needed for particular subclass."""
diff --git a/pywikibot/site.py b/pywikibot/site.py
index a17b205..dffd696 100644
--- a/pywikibot/site.py
+++ b/pywikibot/site.py
@@ -1058,6 +1058,9 @@
action='query',
meta='siteinfo',
siprop='|'.join(props))
+ # With 1.25wmf5 it'll require continue or rawcontinue. As we don't
+ # continue anyway we just always use continue.
+ request['continue'] = ''
# warnings are handled later
request._warning_handler = warn_handler
data = request.submit()
--
To view, visit https://gerrit.wikimedia.org/r/168529
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iddbf4922c60c0f3900b88cb81e4c176855e33fc3
Gerrit-PatchSet: 5
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: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: jenkins-bot <>
jenkins-bot has submitted this change and it was merged.
Change subject: [FIX] Archivebot: Don't test uz wp
......................................................................
[FIX] Archivebot: Don't test uz wp
Recently the archivebot test on uz wp fails because the Timestripper
doesn't recognize a dash between the day and month name. As long as the
Timestripper doesn't support this format, expect failures.
Change-Id: I3cbf5b4f399bd150a912485269d77bd6d244f440
---
M tests/archivebot_tests.py
1 file changed, 2 insertions(+), 1 deletion(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/archivebot_tests.py b/tests/archivebot_tests.py
index 5c57d54..9803cf1 100644
--- a/tests/archivebot_tests.py
+++ b/tests/archivebot_tests.py
@@ -70,7 +70,7 @@
self.assertIsInstance(thread.content, basestring)
self.assertIsInstance(thread.timestamp, datetime)
- expected_failures = ['ar', 'pdc', 'th']
+ expected_failures = ['ar', 'pdc', 'th', 'uz']
# expected failures - should be fixed
# 'ar': Uses Arabic acronym for TZ
# 'pdc': changed month name setting in wiki over time (?)
@@ -78,6 +78,7 @@
# <message name="feb" xml:space="preserve">Han.</message>.
# for new entries it should work
# 'th': year is 2552 while regex assumes 19..|20.., might be fixed
+ # 'uz': a dash between day and month (24-Oktabr)
if __name__ == '__main__':
--
To view, visit https://gerrit.wikimedia.org/r/168707
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3cbf5b4f399bd150a912485269d77bd6d244f440
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: jenkins-bot <>
jenkins-bot has submitted this change and it was merged.
Change subject: Let flake8-docstrings use multiprocessing again
......................................................................
Let flake8-docstrings use multiprocessing again
flake2.2.3 turned multiprocessing on by default which caused it to stall
completely under Jenkins (bug 70197). That has been worked around by
turning off multiprocessing with `--jobs=1`.
Pin flake8 to 2.2.5 or later and drop --jobs=1 to resume
multiprocessing.
Bug: 70197
Change-Id: I154f65538061730b44d455ef8e1ca94c90b4d869
---
M tox.ini
1 file changed, 6 insertions(+), 10 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tox.ini b/tox.ini
index 0a3b48e..b422aad 100644
--- a/tox.ini
+++ b/tox.ini
@@ -14,18 +14,13 @@
deps = flake8
[testenv:flake8-docstrings]
-commands = flake8 {posargs} --jobs=1 --ignore=D102,D103,E122,E127,E241,E265
-deps = flake8-docstrings
-# Note: flake8 is run here with --jobs=1 to disable multiprocessing which stall
-# the run with flake8-docstrings / pep257.
-# That appeared with flake8 2.2.3 which turns multiprocessing on by default.
-#
-# See upstream issue:
-# https://bitbucket.org/tarek/flake8/issue/167/flake8-223-stall-with-multipro…
+commands = flake8 {posargs} --ignore=D102,D103,E122,E127,E241,E265
+deps = flake8>=2.2.5
+ flake8-docstrings
[testenv:flake8-docstrings-mandatory]
# Add any new file which is pep257 compatible
-commands = flake8 --jobs=1 --ignore=D102,D103,E122,E127,E241,E265 \
+commands = flake8 --ignore=D102,D103,E122,E127,E241,E265 \
./setup.py \
./generate_user_files.py \
./pywikibot/__init__.py \
@@ -115,7 +110,8 @@
./scripts/maintenance/cache.py \
./tests/upload_tests.py
-deps = flake8-docstrings
+deps = flake8>=2.2.5
+ flake8-docstrings
[testenv:nose]
setenv = PYWIKIBOT2_NO_USER_CONFIG=1
--
To view, visit https://gerrit.wikimedia.org/r/168586
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I154f65538061730b44d455ef8e1ca94c90b4d869
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: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: jenkins-bot <>
John Vandenberg has submitted this change and it was merged.
Change subject: change license of reflinks.py from GPL to MIT
......................................................................
change license of reflinks.py from GPL to MIT
per discussion on Pywikipedia-l:
http://comments.gmane.org/gmane.comp.python.pywikipediabot.general/13959
all original authors need to +1 this
Change-Id: I2cee179737b45fe95c206e928ad0b8c8b560c9e2
---
M scripts/reflinks.py
1 file changed, 1 insertion(+), 1 deletion(-)
Approvals:
Shizhao: Looks good to me, but someone else must approve
Cyde: Looks good to me, but someone else must approve
Ladsgroup: Looks good to me, but someone else must approve
Withoutaname: Looks good to me, but someone else must approve
Mayankmadan: Looks good to me, but someone else must approve
Merlijn van Deen: Looks good to me, but someone else must approve
Xqt: Looks good to me, but someone else must approve
Dkonto: Looks good to me, but someone else must approve
Alex S.H. Lin: Looks good to me, but someone else must approve
jenkins-bot: Verified
Huji: Looks good to me, but someone else must approve
John Vandenberg: Looks good to me, approved
Ricordisamoa: Looks good to me, but someone else must approve
XZise: Looks good to me, but someone else must approve
Beta16: Looks good to me, but someone else must approve
Meno25: Looks good to me, but someone else must approve
Siebrand: Looks good to me, but someone else must approve
Matanya: Looks good to me, but someone else must approve
diff --git a/scripts/reflinks.py b/scripts/reflinks.py
index 6fcc135..90bebe1 100644
--- a/scripts/reflinks.py
+++ b/scripts/reflinks.py
@@ -39,7 +39,7 @@
# (C) Nicolas Dumazet (NicDumZ), 2008
# (C) Pywikibot team, 2008-2014
#
-# Distributed under the terms of the GPL
+# Distributed under the terms of the MIT license.
#
__version__ = '$Id$'
#
--
To view, visit https://gerrit.wikimedia.org/r/139294
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I2cee179737b45fe95c206e928ad0b8c8b560c9e2
Gerrit-PatchSet: 3
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <ricordisamoa(a)openmailbox.org>
Gerrit-Reviewer: Alex S.H. Lin <alexsh(a)mail2000.com.tw>
Gerrit-Reviewer: Beta16 <l.rabinelli(a)gmail.com>
Gerrit-Reviewer: Cyde <cydeweys(a)gmail.com>
Gerrit-Reviewer: Dkonto <dkontotasiou(a)gmail.com>
Gerrit-Reviewer: DrTrigon <dr.trigon(a)surfeu.ch>
Gerrit-Reviewer: Huji <huji.huji(a)gmail.com>
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: Matanya <matanya(a)foss.co.il>
Gerrit-Reviewer: Mayankmadan <maddiemadan(a)gmail.com>
Gerrit-Reviewer: Meno25 <meno25mail(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Ricordisamoa <ricordisamoa(a)openmailbox.org>
Gerrit-Reviewer: Shizhao <shizhao(a)gmail.com>
Gerrit-Reviewer: Siebrand <siebrand(a)kitano.nl>
Gerrit-Reviewer: Withoutaname <drevitchi(a)gmail.com>
Gerrit-Reviewer: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot <>