Mwparserfromhell

Een parser voor MediaWiki Wikicode
Download nu

Mwparserfromhell Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • MIT/X Consortium Lic...
  • Prijs:
  • FREE
  • Naam uitgever:
  • Ben Kurtovic
  • Uitgever website:
  • https://github.com/earwig/

Mwparserfromhell Tags


Mwparserfromhell Beschrijving

Mwparserfromhell is een Python-pakket dat een eenvoudig te gebruiken en waanzinnige krachtige parser voor MediaWiki Wikicode biedt. Het ondersteunt Python 2 en Python 3. Ontwikkeld door Earwig met hulp van .Installation de gemakkelijkste manier om de PARDER te installeren is via de Python-pakketindex, zodat u de nieuwste release met PIP installeert MWPARSERFROMHELL (GET PIP). U kunt ook de nieuwste ontwikkelingsversie krijgen: Git Clone Git: //github.com/arwig/mwparserfromhell.gitcd Mwparserfromhellpyhon Setup.py Installyou kan de uitgebreide eenheidstestsuite uitvoeren met Python Setup.py Test.usagenormaal gebruik is nogal eenvoudig (waar tekst is Is pagina-tekst): >>> Import MWPARSERFROMHELL >>> Wikicode = MWPARSERFROMHELL.PARSE (tekst) Wikicode is een MWPARSERFROMHELL.WIKICODE.WIKICODE-Object, dat fungeert als een gewone Unicode-object (of str in Python 3) met wat extra methoden. Bijvoorbeeld: >>> Tekst = "Ik heb een sjabloon! {{Foo | bar | baz | eieren = spam}} Zie het?" >>> Wikicode = mwparserfromhell.parse (tekst) >>> Print Wikicodei heeft een sjabloon ! {{foo | bar | baz | eieren = spam}} Zie het? >>> Templates = wikicode.filter_templates () >>> Print sjablonen >> > Sjabloon = sjablonen >>> Print Template.NameFOO >>> Print sjabloon.params >>> print sjabloon.get (1) .valuebar >> > Print sjabloon.get ("eieren"). WaardenPamsince Elk knooppunt dat je bereikt is ook een Wikicode-object, het is triviaal om geneste sjablonen te krijgen: >>> code = mwparserfromhell.parse ("{{foo | dit {{bevat een | sjabloon | }}}} ") >>> Print Code.Filter_Templates () >>> foo = code.filter_templates () >>> Print foo.get (1) .Valuethis {{bevat een | sjabloon}} >>> afdrukken foo.get (1) .Value.filter_templates () {{bevat een | sjabloon}} >>> Print foo. Ontvang (1) .Value.filter_templates () .get (1). Valuetemplateadditional, u kunt geneste sjablonen opnemen in filter_templates () door recursief te passeren = TRUE: >>> Tekst = "{{foo | {{bar} } = {{baz | {{spam}}}}}} ">>> mwparserfromhell.parse (tekst) .Filter_templates (recursief = true) Sjablonen kunnen eenvoudig worden gewijzigd om toe te voegen, te verwijderen, te veranderen of params. Wikicode kan ook worden behandeld als een lijst met bijlage (), invoegen (), verwijderen (), vervangen (), en meer: >>> Tekst = "{{cleanup}} '' 'foo' '' is een ]]. {{Uncategorized}} ">>> code = mwparserfromhell.parse (tekst) >>> voor sjabloon in code.filter_templates (): ... als sjabloon.name ==" opruimen "en niet template.has_param ("Datum"): ... Template.ADD ("Datum", "juli 2012") ... >>> Print code {{cleanup | Datum = juli 2012}} '' 'foo' '' is een ]. {{uncategorized}} >>> Code.Replace ("{{Uncategorized}}", "{{bar-stub}}") >>> Printcode {{cleanup | Datum = juli 2012}} '' 'foo' '' is een ]. {{bar-stub}} >>> Print Code.Filter_Templates () U kunt vervolgens code weer in een gewone unicode converteren Object (voor het opslaan van de pagina!) Door Unicode () op te roepen: >>> Tekst = Unicode (Code) >>> Tekst afdrukken {{cleanup | Datum = juli 2012}} '' 'foo' '' is een ]. {{bar-stub}} >>> Tekst == CODETRUELEKEIZE, gebruik Str (Code) in Python 3.integrationMWParserFromHell wordt gebruikt door en oorspronkelijk ontwikkeld voor EarwigBot; Pagina-objecten hebben een parse-methode die in wezen MWPARSERFROMHELL.PARSE () op pagina noemt.get (). Als u Pywikipedia gebruikt, kan uw code er als volgt uitzien: importeer MWPARSERFROMHELLIMPORT WIKIPEDIA AS PYWIKIBOTDEF PARSE (TITLE): SITE = PYWIKIBOT.GET_SITE () PAGINE = PYWIKIBOT.PAGE (SITE, TITLE) TENK = PAGINA.get () Return Mwparserfromhell.parse (tekst) Als u geen bibliotheek gebruikt, kunt u sjablonen op een pagina afspelen met behulp van de volgende code (via de API) ): import jonimport urllibimport mwparserfromhellapi_url = "http://en.wikipedia.org/w/api.php"Def parsse (titel): raw = urllib.urlopen (api_url, gegevens) .READ () res = JSON.LOADS ( RAW) Tekst = res . Waarden () RETURN MWPARSERFROMHELL.PARSE (Text) Product-startpagina


Mwparserfromhell Gerelateerde software