瀏覽代碼

nodes: Add __getitem__, __setitem__, and __delitem__ to Template

These are just aliases for existing methods, without the ability to
specifiy additional parameters. However, including them makes Template
more dict-like, so it's a good idea to have them.
pull/252/head
AntiCompositeNumber 3 年之前
父節點
當前提交
a42c728744
沒有發現已知的金鑰在資料庫的簽署中 GPG 金鑰 ID: A888A323AB506229
共有 1 個檔案被更改,包括 9 行新增0 行删除
  1. +9
    -0
      mwparserfromhell/nodes/template.py

+ 9
- 0
mwparserfromhell/nodes/template.py 查看文件

@@ -232,6 +232,9 @@ class Template(Node):
else:
return default

def __getitem__(self, name):
return self.get(name)

def add(self, name, value, showkey=None, before=None,
preserve_spacing=True):
"""Add a parameter to the template with a given *name* and *value*.
@@ -312,6 +315,9 @@ class Template(Node):
self.params.append(param)
return param

def __setitem__(self, name, value):
return self.add(name, value)

def remove(self, param, keep_field=False):
"""Remove a parameter from the template, identified by *param*.

@@ -357,3 +363,6 @@ class Template(Node):
raise ValueError(name)
for i in reversed(to_remove):
self.params.pop(i)

def __delitem__(self, param):
return self.remove(param)

Loading…
取消
儲存