https://bugzilla.wikimedia.org/show_bug.cgi?id=70492

            Bug ID: 70492
           Summary: Make Page.interwiki() use api instead of parsing the
                    text
           Product: Pywikibot
           Version: core (2.0)
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: Unprioritized
         Component: General
          Assignee: [email protected]
          Reporter: [email protected]
       Web browser: ---
   Mobile Platform: ---

In page.py in the Page object we have the following function:
https://git.wikimedia.org/blob/pywikibot%2Fcore.git/aba68924c8221f111fa28ebda34ea11c19f7d57f/pywikibot%2Fpage.py#L1113

    def interwiki(self, expand=True):
        """Iterate interwiki links in the page text, excluding language links.

        @param expand: if True (default), include interwiki links found in
            templates transcluded onto this page; if False, only iterate
            interwiki links found in this page's own wikitext
        @type expand: bool

        @return: a generator that yields Link objects
        """
        # This function does not exist in the API, so it has to be
        # implemented by screen-scraping

The MediaWiki api now has the function "iwlinks"
(https://www.mediawiki.org/wiki/API:Iwlinks) that seems to do what we need. See
for example
https://commons.wikimedia.org/w/api.php?action=query&prop=iwlinks&titles=Creator:Antonio_Ponce&format=json

The interwiki() function should be reimplemented using the api.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to