mwtemplates is a simple MediaWiki wikitext template parser and editor, based on a Python rewrite of the MediaWiki preprocessorDOM.php. Tested with python 2.6, 2.7, 3.2, 3.3 and 3.4.
Installation
The package is on PyPI, so you can install it using pip, easy_install or similar:
$ pip install mwtemplates
Running tests
To run tests, clone the repo and do:
$ pip install -r requirements.txt
$ pip install -r test_requirements.txt
$ py.test -x tests --pep8 mwtemplates -v --cov mwtemplates --doctest-modules
Usage examples
Editing a template:
from mwtemplates import TemplateEditor
txt = u"""
{{Infoboks geografi
| kart = Svalbard_kart1.png
| land = Norge
| status = Øygruppe
| administrasjon = [[Odd Olsen Ingerø]] ''<small>(2009)</small>''
| administrasjonsnavn = [[Sysselmannen på Svalbard|Sysselmann]]
| areal = 61022
| befolkning = 2527
| befolkningsår = [[2011]]
| url = www.sysselmannen.svalbard.no
}}
"""
te = TemplateEditor(txt)
te.templates['infoboks geografi'][0].parameters['land'] = 'Russland'
print te.wikitext()
Updating a page on Wikipedia using mwclient
from mwclient import Site
from mwtemplates import TemplateEditor
site = Site('en.wikipedia.org')
site.login('USERNAME', 'PASSWORD')
page = site.pages['SOME_PAGE']
te = TemplateEditor(page.edit())
if 'SOME_TEMPLATE' in page.templates:
tpl = te.templates['SOME_TEMPLATE'][0]
tpl.parameters['test'] = 'Hello'
page.save(te.wikitext(), summary='...')
Removing a template argument:
from mwtemplates import TemplateEditor
te = TemplateEditor(u"Hello {{mytpl | a=2 | b=3 | c=4 }} world")
te.templates['mytpl'].parameters.remove('b')
Removing the first instance of a template:
from mwtemplates import TemplateEditor
te = TemplateEditor(u"Hello {{mytpl}} world {{mytpl}}")
te.templates['mytpl'][0].remove()
Metadata
Release files for mwtemplates 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mwtemplates-0.3.0.tar.gz | 10.9 kB | Without provenance | Details for mwtemplates-0.3.0.tar.gz |
Release files / mwtemplates-0.3.0.tar.gz
| Download URL | mwtemplates-0.3.0.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7adf9d7ae426961b9f6cd831f2d9d0e4b356bd17aa84381b6b698c75412d8e17
|
|
BLAKE2b-256 checksum How to use checksums |
41b064708e4fe4bb1d7821a97cbd80245d1604db9ec1d71e3eecd98c55807041
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for mwtemplates 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.