6
def __init__(self, tkbug):
9
self.__commit_changes = tkbug.commit_changes
14
self.__fetch_if_needed()
15
return len(self.__tags)
19
def __getitem__(self, key):
20
self.__fetch_if_needed()
21
return self.__tags[key]
25
def __setitem__(self, key, value):
26
self.__fetch_if_needed()
27
self.__tags[key] = value
32
def __delitem__(self, key):
33
self.__fetch_if_needed()
40
self.__fetch_if_needed()
41
for tag in self.__tags:
46
def __contains__(self, item):
47
self.__fetch_if_needed()
48
return item in self.__tags
52
def __save_tags(self):
53
if self.__commit_changes:
54
self.__tkbug.lpbug.tags = self.__tags
55
self.__tkbug.lpbug.lp_save()
59
def __fetch_if_needed(self):
60
if self.__tags == None:
61
self.__tags = self.__tkbug.lpbug.tags
65
def append(self, item):
66
self.__fetch_if_needed()
67
if not isinstance(item, str):
68
raise TypeError("Must be a string")
69
self.__tags.append(item)
74
def extend(self, items):
75
self.__fetch_if_needed()
76
if not isinstance(items, list):
77
raise TypeError("Must be a list")
78
self.__tags.extend(items)
83
def remove(self, item):
84
self.__fetch_if_needed()
85
if not isinstance(item, str):
86
print("type: %s" % (type(item)))
87
raise TypeError("Must be a string")
88
self.__tags.remove(item)
91
# vi:set ts=4 sw=4 expandtab: