jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1155279?usp=email )
Change subject: cleanup: deprecate Family.categories_last attribute ......................................................................
cleanup: deprecate Family.categories_last attribute
Use site.has_extension('CategorySelect') instead
Bug: T86284 Change-Id: Id12ff75d5d1474db0059c8cb2761a42b75ef2a3a --- M pywikibot/families/wowwiki_family.py M pywikibot/family.py M pywikibot/textlib.py 3 files changed, 24 insertions(+), 15 deletions(-)
Approvals: jenkins-bot: Verified Xqt: Looks good to me, approved
diff --git a/pywikibot/families/wowwiki_family.py b/pywikibot/families/wowwiki_family.py index dcf9767..bdc5918 100644 --- a/pywikibot/families/wowwiki_family.py +++ b/pywikibot/families/wowwiki_family.py @@ -1,13 +1,13 @@ """Family module for WOW wiki.""" # -# (C) Pywikibot team, 2009-2024 +# (C) Pywikibot team, 2009-2025 # # Distributed under the terms of the MIT license. # from __future__ import annotations
from pywikibot import family -from pywikibot.tools import classproperty +from pywikibot.tools import classproperty, deprecated
class Family(family.FandomFamily): @@ -52,10 +52,16 @@ cls.disambcatname['en'] = 'Disambiguations' return cls.disambcatname
- # Wikia's default CategorySelect extension always puts categories last + # Wikia's default SelectCategory extension always puts categories last @classproperty + @deprecated('site.has_extension("CategorySelect")', since='10.3.0') def categories_last(cls): - """Property listing site keys for categories at last position.""" + """Property listing site keys for categories at last position. + + .. deprecated:: 10.3 + use :meth:`site.has_extension('CategorySelect') + <pywikibot.site._apisite.APISite.has_extension>` instead + """ return cls.langs.keys()
@classproperty diff --git a/pywikibot/family.py b/pywikibot/family.py index f1b3a26..d3534d6 100644 --- a/pywikibot/family.py +++ b/pywikibot/family.py @@ -181,14 +181,6 @@ #: String used as separator between category links and the text category_text_separator = '\n\n'
- categories_last: list[str] = [] - """When both at the bottom should categories come after interwikilinks? - - TODO: :phab:`T86284` Needed on Wikia sites, as it uses the - CategorySelect extension which puts categories last on all sites. - TO BE DEPRECATED! - """ - interwiki_putfirst: dict[str, str] = {} """Which languages have a special order for putting interlanguage links, and what order is it? @@ -329,6 +321,17 @@
_families: dict[str, Family] = {}
+ @classproperty + @deprecated('site.has_extension("CategorySelect")', since='10.3.0') + def categories_last(cls) -> list[str]: + """Categories come after interwiki links for the given site codes. + + .. deprecated:: 10.3 + use :meth:`site.has_extension('CategorySelect') + <pywikibot.site._apisite.APISite.has_extension>` instead + """ + return [] + @staticmethod def load(fam: str | None = None): """Import the named family. diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py index 75774bf..257e1a7 100644 --- a/pywikibot/textlib.py +++ b/pywikibot/textlib.py @@ -1,6 +1,6 @@ """Functions for manipulating wiki-text.""" # -# (C) Pywikibot team, 2008-2024 +# (C) Pywikibot team, 2008-2025 # # Distributed under the terms of the MIT license. # @@ -1323,7 +1323,7 @@ s = separator + s newtext = (s2[:firstafter].replace(marker, '') + s + s2[firstafter:]) - elif site.code in site.family.categories_last: + elif site.has_extension('CategorySelect'): cats = getCategoryLinks(s2, site=site) s2 = removeCategoryLinksAndSeparator( s2.replace(marker, cseparatorstripped).strip(), site) \ @@ -1650,7 +1650,7 @@ new_cats = separator + new_cats newtext = (cats_removed_text[:firstafter].replace(marker, '') + new_cats + cats_removed_text[firstafter:]) - elif site.code in site.family.categories_last: + elif site.has_extension('CategorySelect'): newtext = (cats_removed_text.replace(marker, '').strip() + separator + new_cats) else:
pywikibot-commits@lists.wikimedia.org