-
Notifications
You must be signed in to change notification settings - Fork 1
/
items.py
47 lines (38 loc) · 1.31 KB
/
items.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from osutils import data_filepath
from twtemplate import TWTemplate
from objects import ObjectTemplate
from mwparserfromhell.nodes.extras import Parameter
class ItemTemplate(TWTemplate):
# Generate a list of item parameters from the data file.
SUPPORTED_PARAMETERS = set(
open(data_filepath("parameters-item.txt"), "r").read().splitlines()
)
PARAMETER_NORM_TO_OUTPUT = {
# TODO "lowercase_normalised": "actual_parameter_name"
}
def __init__(self):
super().__init__()
def get_valid_parameters(self):
return self.SUPPORTED_PARAMETERS
def is_valid(self):
valid = True
# TODO
return valid
MAP_EQUIVALENT_OBJECT_PARAMETER = {
'type': 'weapontype'
}
@staticmethod
def map_item2object_param_name(pname):
pname = str(pname)
if pname in ItemTemplate.MAP_EQUIVALENT_OBJECT_PARAMETER:
pname = ItemTemplate.MAP_EQUIVALENT_OBJECT_PARAMETER[str(pname)]
return pname
def to_object(self):
obj = ObjectTemplate()
for param in self.parameters:
pname = self.normalise_parameter(param.name)
pvalue = str(param.value)
obj.set(pname, pvalue, showkey=param.showkey)
return obj
def get_name(self):
return 'Infobox Item'