jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1286288?usp=email )

Change subject: famiilies: Move all wikinews site codes to closed_wikis
......................................................................

famiilies: Move all wikinews site codes to closed_wikis

All wikinews wikis are closed (T421796). Therefore
- move all wikinews site codes to closed_wikis
- remove wikinews L10N from scripts
- remove wikinews from supported maintenance scripts
- remove wikinews from DrySite handling
- remove wikinews from tests
- add test to TestObsoleteSite.test_locked_site

Bug: T426022
Change-Id: Ie71c3d04a3276d7426a60724d30d16a5e1b8a2f4
---
M pywikibot/families/wikinews_family.py
M scripts/clean_sandbox.py
M scripts/maintenance/addwikis.py
M scripts/maintenance/unidata.py
M scripts/speedy_delete.py
M scripts/welcome.py
M tests/basesite_tests.py
M tests/family_tests.py
M tests/interwikimap_tests.py
M tests/site_obsoletesites_tests.py
M tests/site_tests.py
M tests/utils.py
12 files changed, 52 insertions(+), 66 deletions(-)

Approvals:
  jenkins-bot: Verified
  Xqt: Looks good to me, approved




diff --git a/pywikibot/families/wikinews_family.py 
b/pywikibot/families/wikinews_family.py
index 3e30903..c853157 100644
--- a/pywikibot/families/wikinews_family.py
+++ b/pywikibot/families/wikinews_family.py
@@ -3,7 +3,12 @@
 #
 # Distributed under the terms of the MIT license.
 #
-"""Family module for Wikinews."""
+"""Family module for Wikinews.
+
+.. version-changed:: 11.3
+   All Wikinews sites were marked as closed and are listed in
+   :attr:`Family.closed_wikis`. Refer :phab:`T421796`.
+"""
 from __future__ import annotations

 from pywikibot import family
@@ -18,14 +23,13 @@
 
     closed_wikis = [
         # 
https://noc.wikimedia.org/conf/highlight.php?file=dblists/closed.dblist
-        'bg', 'hu', 'ru', 'sd', 'th', 'tr',
+        'ar', 'bs', 'bg', 'ca', 'cs', 'de', 'el', 'en', 'eo', 'es', 'fa', 'fi',
+        'fr', 'guw', 'he', 'hu', 'it', 'ja', 'ko', 'li', 'nl', 'no', 'pl',
+        'pt', 'ro', 'ru', 'sd', 'shn', 'sq', 'sr', 'sv', 'ta', 'th', 'tr',
+        'uk', 'zh',
     ]

-    codes = {
-        'ar', 'bs', 'ca', 'cs', 'de', 'el', 'en', 'eo', 'es', 'fa', 'fi', 'fr',
-        'guw', 'he', 'it', 'ja', 'ko', 'li', 'nl', 'no', 'pl', 'pt', 'ro',
-        'shn', 'sq', 'sr', 'sv', 'ta', 'uk', 'zh',
-    }
+    codes = set()

     category_redirect_templates = {
         '_default': (),
@@ -49,7 +53,6 @@
     ]

     # Subpages for documentation.
-    # TODO: List is incomplete, to be completed for missing languages.
     doc_subpages = {
         '_default': (('/doc', ),
                      ['en']
diff --git a/scripts/clean_sandbox.py b/scripts/clean_sandbox.py
index 175a7b5..835f178 100755
--- a/scripts/clean_sandbox.py
+++ b/scripts/clean_sandbox.py
@@ -76,9 +76,6 @@
               '<!-- Не удаляйте, пожалуйста, эту строку, '
               'тестируйте ниже -->',
     },
-    'wikinews': {
-        'es': '{{ZDP}}\n== Haz tus pruebas bajo esta sección  ==',
-    },
     'wikiquote': {
         'es': '{{ZDP}}\n== Haz tus pruebas bajo esta sección  ==',
     },
diff --git a/scripts/maintenance/addwikis.py b/scripts/maintenance/addwikis.py
index c21f888..10bd7a7 100755
--- a/scripts/maintenance/addwikis.py
+++ b/scripts/maintenance/addwikis.py
@@ -27,6 +27,9 @@
 .. version-changed:: 11.0
    Multiple families can be given with one run. The difference is shown
    instead of the new list.
+.. version-changed:: 11.3
+   wikinews is no longer supported by this script because all wikinews
+   sites are closed.
 """
 from __future__ import annotations

@@ -44,7 +47,6 @@
 # supported families by this script
 families_list = [
     'wikibooks',
-    'wikinews',
     'wikipedia',
     'wikiquote',
     'wikisource',
diff --git a/scripts/maintenance/unidata.py b/scripts/maintenance/unidata.py
index 317cd1b..a832280 100755
--- a/scripts/maintenance/unidata.py
+++ b/scripts/maintenance/unidata.py
@@ -13,6 +13,9 @@
    tested completely.

 .. version-added:: 8.4
+.. version-changed:: 11.3
+   wikinews is no longer supported by this script because all wikinews
+   sites are closed.
 """
 from __future__ import annotations

@@ -33,7 +36,6 @@
 # supported families by this script
 families_list = [
     'wikibooks',
-    'wikinews',
     'wikipedia',
     'wikiquote',
     'wikisource',
diff --git a/scripts/speedy_delete.py b/scripts/speedy_delete.py
index 8af4de8..02899bd 100755
--- a/scripts/speedy_delete.py
+++ b/scripts/speedy_delete.py
@@ -192,14 +192,6 @@
                 'roughtranslation': 'mactra',
             },
         },
-        'wikinews': {
-            'en': {
-                '_default': '[[WN:CSD]]',
-            },
-            'zh': {
-                '_default': '[[WN:CSD]]',
-            },
-        },
     }

     #: Default reason for deleting a talk page.
@@ -218,10 +210,6 @@
             'pt': 'Página de discussão órfã',
             'zh': '[[WP:CSD#O1|CSD O1 O2 O6]] 沒有在使用的討論頁',
         },
-        'wikinews': {
-            'en': 'Orphaned talk page',
-            'zh': '[[WN:CSD#O1|CSD O1 O2 O6]] 沒有在使用的討論頁',
-        }
     }

     #: A list of often-used reasons for deletion. Shortcuts are keys, and
diff --git a/scripts/welcome.py b/scripts/welcome.py
index f91d892..ecf0c85 100755
--- a/scripts/welcome.py
+++ b/scripts/welcome.py
@@ -286,11 +286,6 @@
         'es': '{{subst:bienivenido usuario}} %s',
         'ml': '{{subst:സ്വാഗതം}}',
     },
-    'wikinews': {
-        'fa': '{{خوشامد۲|%s}}',
-        'it': '{{subst:benvenuto}}',
-        'zh': '{{subst:welcome}} %s',
-    },
     'wikiquote': {
         'ml': '{{subst:സ്വാഗതം}}',
     },
@@ -514,18 +509,17 @@
                        f'{welcome}WELCOME dict.')

     if globalvar.random_sign:
-        if site.family.name != 'wikinews':
-            if not sign:
-                raise ValueError(
-                    'sign parameter must be provided when random_sign is '
-                    'enabled'
-                )
-            welcome_text = welcome_text % sign
+        if not sign:
+            raise ValueError(
+                'sign parameter must be provided when random_sign is '
+                'enabled'
+            )
+        welcome_text = welcome_text % sign

         if site.sitename != 'wiktionary:it':
             welcome_text += TIMESELECTED

-    elif site.sitename != 'wikinews:it':
+    else:
         welcome_text = welcome_text % globalvar.default_sign

     final_text = i18n.translate(site, FINAL_NEW_TEXT_ADDITIONS)
diff --git a/tests/basesite_tests.py b/tests/basesite_tests.py
index da2c543..e414500 100755
--- a/tests/basesite_tests.py
+++ b/tests/basesite_tests.py
@@ -25,11 +25,6 @@
     """Test properties for BaseSite."""

     sites = {
-        'enwikinews': {
-            'family': 'wikinews',
-            'code': 'en',
-            'result': ('/doc',),
-        },
         'enwikibooks': {
             'family': 'wikibooks',
             'code': 'en',
diff --git a/tests/family_tests.py b/tests/family_tests.py
index 78a4757..805932c 100755
--- a/tests/family_tests.py
+++ b/tests/family_tests.py
@@ -32,9 +32,18 @@
                 f = Family.load(name)
                 self.assertIsInstance(f.langs, dict)
                 self.assertTrue(f.langs)
-                self.assertTrue(f.codes)
-                self.assertTrue(iter(f.codes))
-                self.assertIsInstance(next(iter(f.codes)), str)
+
+                if name == 'wikinews':
+                    self.assertFalse(f.codes)
+                    self.assertTrue(f.closed_wikis)
+                    self.assertTrue(iter(f.closed_wikis))
+                    self.assertIsInstance(next(iter(f.closed_wikis)), str)
+                    self.assertIsInstance(f.closed_wikis, list)
+                else:
+                    self.assertTrue(f.codes)
+                    self.assertTrue(iter(f.codes))
+                    self.assertIsInstance(next(iter(f.codes)), str)
+
                 self.assertTrue(f.domains)
                 self.assertTrue(iter(f.domains))
                 for domain in f.domains:
diff --git a/tests/interwikimap_tests.py b/tests/interwikimap_tests.py
index 535b4a3..ded9b37 100755
--- a/tests/interwikimap_tests.py
+++ b/tests/interwikimap_tests.py
@@ -21,10 +21,6 @@
     """Test interwiki map and methods."""

     sites = {
-        'enwikinews': {
-            'family': 'wikinews',
-            'code': 'en',
-        },
         'enwikibooks': {
             'family': 'wikibooks',
             'code': 'en',
diff --git a/tests/site_obsoletesites_tests.py 
b/tests/site_obsoletesites_tests.py
index 39cf564..d150973 100755
--- a/tests/site_obsoletesites_tests.py
+++ b/tests/site_obsoletesites_tests.py
@@ -24,18 +24,19 @@

     def test_locked_site(self) -> None:
         """Test Wikimedia closed/locked site."""
-        with suppress_warnings('Interwiki removal mh is in wikipedia codes'):
-            site = pywikibot.Site('mh', 'wikipedia')
-        self.assertIsInstance(site, pywikibot.site.ClosedSite)
-        self.assertEqual(site.code, 'mh')
-        self.assertIsInstance(site.obsolete, bool)
-        self.assertTrue(site.obsolete)
-        self.assertEqual(site.hostname(), 'mh.wikipedia.org')
-        r = http.fetch('http://mh.wikipedia.org/w/api.php',
-                       default_error_handling=False)
-        self.assertEqual(r.status_code, HTTPStatus.OK.value)
-        self.assertEqual(site.siteinfo['lang'], 'mh')
-        self.assertTrue(site.is_uploaddisabled())
+        for code, family in [('mh', 'wikipedia'), ('en', 'wikinews')]:
+            with self.subTest(site=f'{family}:{code}'):
+                site = pywikibot.Site(code, family)
+                self.assertIsInstance(site, pywikibot.site.ClosedSite)
+                self.assertEqual(site.code, code)
+                self.assertIsInstance(site.obsolete, bool)
+                self.assertTrue(site.obsolete)
+                self.assertEqual(site.hostname(), f'{code}.{family}.org')
+                r = http.fetch(f'http://{code}.{family}.org/w/api.php',
+                               default_error_handling=False)
+                self.assertEqual(r.status_code, HTTPStatus.OK.value)
+                self.assertEqual(site.siteinfo['lang'], code)
+                self.assertTrue(site.is_uploaddisabled())

     def test_removed_site(self) -> None:
         """Test Wikimedia offline site."""
diff --git a/tests/site_tests.py b/tests/site_tests.py
index 22952b4..6fffd12 100755
--- a/tests/site_tests.py
+++ b/tests/site_tests.py
@@ -63,7 +63,7 @@
         test_dict = {
             'alswiki': 'wikipedia:als',  # see T345036
             'commonswiki': 'commons:commons',
-            'dewikinews': 'wikinews:de',
+            'dewikinews': 'wikinews:de',  # note: this wiki is closed
             'enwiki': 'wikipedia:en',
             'eswikisource': 'wikisource:es',
             'metawiki': 'meta:meta',
diff --git a/tests/utils.py b/tests/utils.py
index db4d7eb..63977c2 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -403,9 +403,8 @@
             fam_name = self.family.name

         # Only let through valid entries
-        if fam_name not in ('commons', 'wikibooks', 'wikidata', 'wikinews',
-                            'wikipedia', 'wikiquote', 'wikisource',
-                            'wikivoyage'):
+        if fam_name not in ('commons', 'wikibooks', 'wikidata', 'wikipedia',
+                            'wikiquote', 'wikisource', 'wikivoyage'):
             code, fam = None, None

         if code or fam:

--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1286288?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ie71c3d04a3276d7426a60724d30d16a5e1b8a2f4
Gerrit-Change-Number: 1286288
Gerrit-PatchSet: 5
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to