5j9 / wikitextparser

A Python library to parse MediaWiki WikiText
GNU General Public License v3.0
285 stars 22 forks source link

Wrong `url` & `text` from Wikitext external link #139

Closed LeMoussel closed 1 month ago

LeMoussel commented 1 month ago

I'm using wikitextparser v0.56.1 and stumbled upon the following issue:

   import wikitextparser as wtp

    parsed = wtp.parse(
    """
    <ref>{{lien web|site=[http://kismac-ng.org/ le site officiel de KisMAC]|url=http://trac.kismac-ng.org/wiki/Downloads|titre=Downloads}}</ref>
    <ref>{{lien web|url=http://www.kismac.de|titre=Germany says: Good-bye KisMAC!|auteur=Michael Rossberg}}</ref>.
    """
    )
    for link in parsed.external_links:
        print(f"External link => 'url': {link.url}, 'text': {link.text}")

External link => 'url': http://kismac-ng.org/, 'text': le site officiel de KisMAC External link => 'url': http://trac.kismac-ng.org/wiki/Downloads|titre=Downloads, 'text': None External link => 'url': http://www.kismac.de|titre=Germany, 'text': None

The url http://trac.kismac-ng.org/wiki/Downloads|title=Downloads, is incorrect. The correct url should be: http://trac.kismac-ng.org/wiki/Downloads. The same goes for the url: http://www.kismac.de|titre=Germany

According to http://en.wikipedia.org/wiki/Help:Link in case of [[a|b]]cd text of this link is 'bcd'

Wikitext comes from the wikipedia page KisMAC List of External Links of KisMAC


{
    "batchcomplete": true,
    "query": {
        "pages": [
            {
                "pageid": 961821,
                "ns": 0,
                "title": "KisMAC",
                "extlinks": [
                    {
                        "url": "http://www.kismac.de/"
                    },
                    {
                        "url": "http://kismac.de/"
                    },
                    {
                        "url": "http://trac.kismac-ng.org/"
                    },
                    {
                        "url": "http://trac.kismac-ng.org/wiki/Downloads"
                    },
                    {
                        "url": "http://kismac-ng.org/"
                    },
                    {
                        "url": "https://www.wikidata.org/wiki/Q2036340?uselang=fr#P306"
                    },
                    {
                        "url": "https://www.wikidata.org/wiki/Q2036340?uselang=fr#P170"
                    }
                ]
            }
        ]
    }

}