Page MenuHomePhabricator

Reading Templates within Templates
Closed, InvalidPublic

Description

Originally from: http://sourceforge.net/p/pywikipediabot/bugs/1525/
Reported by: Anonymous user
Created on: 2012-10-24 04:53:20
Subject: Reading Templates within Templates
Assigned to: xqt
Original description:
Hi\!

Pywikipedia is used to harvest the in-wiki monument lists to the monuments database. I noticed the Error https://bugzilla.wikimedia.org/show\_bug.cgi?id=39973, the following lines are a copy of the existing bug:

Some values provided by headertemplates \(ie 'Gemeinde' in Austrian lists\) are
not filled if there is a template part of any row parameter. Specific example:

http://de.wikipedia.org/wiki/Liste\_der\_denkmalgesch%C3%BCtzten\_Objekte\_in\_Pfons

In article:
\{\{Denkmalliste Österreich Tabellenkopf

Gemeinde = Pfons
Bezirk = Bezirk Innsbruck Land

<...>
\}\}
\{\{Denkmalliste Österreich Tabellenzeile

Name = Friedhof mit Kapellen und Kleindenkmalen
Beschreibung =
ObjektID = 110694

<...>
\}\}
\{\{Denkmalliste Österreich Tabellenzeile

Name = Kath. Pfarrkirche Mariä Himmelfahrt
Beschreibung = \{\{HauptartikelMariä-Himmelfahrt-Kirche \(Pfons\)\}\}
ObjektID = 64604

<...>
\}\}

and in database:
SELECT \objektid\, \name\, \gemeinde\, \bezirk\ FROM
\p\_erfgoed\_p\.\monuments\_at\_\(de\)\ WHERE \objektid\ = 110694 or \objektid\ =
64604;

objektidnamegemeindebezirk
110694Friedhof mit Kapellen<...>PfonsBezirk Innsbruck Land
64604Kath. Pfarrkirche Mar<...>

many other examples can be found by SELECT \* FROM
\p\_erfgoed\_p\.\monuments\_at\_\(de\)\ WHERE \gemeinde\ = '';


Version: unspecified
Severity: normal
See Also:
https://sourceforge.net/p/pywikipediabot/bugs/1525

Details

Reference
bz55169

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 2:24 AM
bzimport set Reference to bz55169.
bzimport added a subscriber: Unknown Object (????).

could you give me a pwb code snippet or a script command line to reproduce this behaviour

  • assigned_to: nobody --> xqt

mwparserfromhell https://github.com/earwig/mwparserfromhell is a much more accurate and advanced wikicode parser. It makes reading nested templates easier.

you can use page.get(expandtemplates=True)

expandtemplates is not the solution. Instead, use mwparserfromhell.