jenkins-bot has submitted this change and it was merged.
Change subject: Update WikimediaFamily cross_projects
......................................................................
Update WikimediaFamily cross_projects
Move cross_projects to be a class attribute.
Break down the list of cross_projects into different types,
adding missing project families.
Update wikimediachapter family to be a WikimediaFamily subclass,
and remove an obsolete 'continue' in the Family tests related
to the wikimediachapter family.
Bug: T103254
Change-Id: I29e720088502757b0461489a9476e40d434ba0d5
---
M pywikibot/families/wikimediachapter_family.py
M pywikibot/family.py
M tests/family_tests.py
3 files changed, 49 insertions(+), 16 deletions(-)
Approvals:
XZise: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/families/wikimediachapter_family.py
b/pywikibot/families/wikimediachapter_family.py
index b240954..dccf1ce 100644
--- a/pywikibot/families/wikimediachapter_family.py
+++ b/pywikibot/families/wikimediachapter_family.py
@@ -7,13 +7,13 @@
from pywikibot import family
-class Family(family.Family):
+class Family(family.WikimediaFamily):
"""Family for Wikimedia chapters hosted on
wikimedia.org."""
def __init__(self):
"""Constructor."""
- family.Family.__init__(self)
+ super(Family, self).__init__()
self.name = 'wikimediachapter'
self.countries = [
diff --git a/pywikibot/family.py b/pywikibot/family.py
index 6c2e071..e809240 100644
--- a/pywikibot/family.py
+++ b/pywikibot/family.py
@@ -691,7 +691,8 @@
}
# A list of projects that share cross-project sessions.
- self.cross_projects = []
+ if not hasattr(self, 'cross_projects'):
+ self.cross_projects = []
# A list with the name for cross-project cookies.
# default for wikimedia centralAuth extensions.
@@ -1411,6 +1412,51 @@
"""Class for all wikimedia families."""
+ multi_language_content_families = [
+ 'wikipedia', 'test',
+ 'wiktionary', 'wikisource',
+ 'wikibooks', 'wikinews', 'wikiquote',
+ 'wikiversity', 'wikivoyage',
+ ]
+
+ wikimedia_org_content_families = [
+ 'commons', 'incubator', 'species',
+ ]
+
+ wikimedia_org_meta_families = [
+ 'meta', 'outreach', 'strategy',
+ 'wikimediachapter',
+ ]
+
+ wikimedia_org_other_families = [
+ 'wikitech',
+ ]
+
+ other_content_families = [
+ 'wikidata'
+ 'mediawiki',
+ ]
+
+ content_families = set(
+ multi_language_content_families +
+ wikimedia_org_content_families +
+ other_content_families
+ )
+
+ wikimedia_org_families = set(
+ wikimedia_org_content_families +
+ wikimedia_org_meta_families +
+ wikimedia_org_other_families
+ )
+
+ # CentralAuth cross avaliable projects.
+ cross_projects = set(
+ multi_language_content_families +
+ wikimedia_org_content_families +
+ wikimedia_org_meta_families +
+ other_content_families
+ )
+
# Code mappings which are only an alias, and there is no 'old' wiki.
# For all except 'nl_nds', subdomains do exist as a redirect, but that
# should not be relied upon.
@@ -1447,16 +1493,6 @@
# Romanian was to be the replacement.
'mo': 'ro',
}
-
- def __init__(self):
- super(WikimediaFamily, self).__init__()
-
- # CentralAuth cross avaliable projects.
- self.cross_projects = [
- 'commons', 'incubator', 'mediawiki', 'meta',
'species', 'test',
- 'wikibooks', 'wikidata', 'wikinews',
'wikipedia', 'wikiquote',
- 'wikisource', 'wikiversity', 'wiktionary',
- ]
@property
def interwiki_removals(self):
diff --git a/tests/family_tests.py b/tests/family_tests.py
index 6fe8823..7a08da7 100644
--- a/tests/family_tests.py
+++ b/tests/family_tests.py
@@ -33,9 +33,6 @@
f = Family.load(name)
self.assertIsInstance(f.langs, dict)
self.assertNotEqual(f.langs, {})
- # There is one inconsistency
- if f.name == 'wikimediachapter' and name == 'wikimedia':
- continue
self.assertEqual(f.name, name)
def test_family_load_invalid(self):
--
To view, visit
https://gerrit.wikimedia.org/r/219613
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I29e720088502757b0461489a9476e40d434ba0d5
Gerrit-PatchSet: 6
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <jayvdb(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: Nemo bis <federicoleva(a)tiscali.it>
Gerrit-Reviewer: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: jenkins-bot <>