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

Change subject: [IMPR] use page.autoFormat instead of date.getAutoFormat in 
titletranslate.py
......................................................................

[IMPR] use page.autoFormat instead of date.getAutoFormat in titletranslate.py

- use page.autoFormat() instead of date.getAutoFormat() in
  titletranslate.translate()
- rename local variable x with link for better readability
- use site.getSite() method to get a site with other code
- raise RuntimeError instead of AssertionError if neither page nor site
  parameter is given
- hint is usually given as list of literals

Change-Id: I731c667fb74364da65cd9618b57036e951e7bc14
---
M pywikibot/titletranslate.py
1 file changed, 33 insertions(+), 23 deletions(-)

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




diff --git a/pywikibot/titletranslate.py b/pywikibot/titletranslate.py
index e349c74..019c73b 100644
--- a/pywikibot/titletranslate.py
+++ b/pywikibot/titletranslate.py
@@ -12,25 +12,37 @@

 def translate(
     page=None,
-    hints=(),
+    hints: list[str] | None = None,
     auto: bool = True,
     removebrackets: bool = False,
     site=None
 ) -> list[pywikibot.Link]:
     """Return a list of links to pages on other sites based on hints.

-    Entries for single page titles list those pages. Page titles for entries
-    such as "all:" or "xyz:" or "20:" are first built from the page title of
-    'page' and then listed. When 'removebrackets' is True, a trailing pair of
-    brackets and the text between them is removed from the page title.
-    If 'auto' is true, known year and date page titles are autotranslated
-    to all known target languages and inserted into the list.
-    """
-    result = set()
+    Entries for single page titles list those pages. Page titles for
+    entries such as "all:" or "xyz:" or "20:" are first built from the
+    page title of 'page' and then listed.

-    assert page or site
+    .. versionchanged:: 9.6
+       Raise ``RuntimeError`` instead of ``AssertionError`` if neither
+       *page* nor *site* parameter is given.
+
+    :param auto: If  true, known year and date page titles are
+        autotranslated to all known target languages and inserted into
+        the list.
+    :param removebrackets: If True, a trailing pair of brackets and the
+        text between them is removed from the page title.
+    :raises RuntimeError: Either page or site parameter must be given.
+    """
+    if not page and not site:
+        raise RuntimeError(
+            'Either page or site parameter must be given with translate()')

     site = site or page.site
+    result = set()
+
+    if hints is None:
+        hints = []

     for h in hints:
         # argument may be given as -hint:xy where xy is a language code
@@ -54,10 +66,10 @@
             if newcode in site.languages():
                 if newcode != site.code:
                     ns = page.namespace() if page else 0
-                    x = pywikibot.Link(newname,
-                                       site.getSite(code=newcode),
-                                       default_namespace=ns)
-                    result.add(x)
+                    link = pywikibot.Link(newname,
+                                          site.getSite(code=newcode),
+                                          default_namespace=ns)
+                    result.add(link)
             elif config.verbose_output:
                 pywikibot.info(f'Ignoring unknown language code {newcode}')

@@ -65,19 +77,17 @@
     # existing interwiki links.
     if auto and page:
         # search inside all dictionaries for this link
-        sitelang = page.site.lang
-        dict_name, value = date.getAutoFormat(sitelang, page.title())
+        dict_name, value = page.autoFormat()
         if dict_name:
             pywikibot.info(f'TitleTranslate: {page.title()} was recognized as '
                            f'{dict_name} with value {value}')
             for entry_lang, entry in date.formats[dict_name].items():
                 if entry_lang not in site.languages():
                     continue
-                if entry_lang != sitelang:
-                    newname = entry(value)
-                    x = pywikibot.Link(
-                        newname,
-                        pywikibot.Site(code=entry_lang,
-                                       fam=site.family))
-                    result.add(x)
+
+                if entry_lang != page.site.lang:
+                    link = pywikibot.Link(entry(value),
+                                          site.getSite(entry_lang))
+                    result.add(link)
+
     return list(result)

--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1094463?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: I731c667fb74364da65cd9618b57036e951e7bc14
Gerrit-Change-Number: 1094463
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <i...@gno.de>
Gerrit-Reviewer: Xqt <i...@gno.de>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- pywikibot-commits@lists.wikimedia.org
To unsubscribe send an email to pywikibot-commits-le...@lists.wikimedia.org

Reply via email to