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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
import time
from xml.etree.ElementTree import *
class UserTree:
def __init__(self):
self.tree = ElementTree(file="data/user.xml")
self.root = self.tree.getroot()
def add_user(self, name, stalls, al):
if self.get_user(name) == -10:
user = SubElement(self.root, "user")
user.set("name", name)
user.set("stalls", str(stalls))
user.set("used_stalls", str(0))
user.set("money", str(0))
user.set("id", str(0))
user.set("accesslevel", str(al))
self.save()
def get_user(self, name):
for elem in self.root:
if elem.get("name") == name:
return elem
return -10
def remove_user(self, name):
for elem in self.root:
if elem.get("name") == name:
self.root.remove(elem)
self.save()
return 1
return -10
def save(self):
# Be sure to call save() after any changes to the tree.
self.tree = ElementTree(self.root)
self.tree.write("data/user.xml")
class ItemTree:
def __init__(self):
self.tree = ElementTree(file="data/sale.xml")
self.root = self.tree.getroot()
self.u_id = set()
for elem in self.root:
self.u_id.add(int(elem.get("uid")))
def getId(self):
id_itter = 1
while id_itter in self.u_id:
id_itter += 1
self.u_id.add(id_itter)
return id_itter
def remove_id(self, uid):
# Free up used id's.
self.u_id.remove(uid)
def add_item(self, name, item_id, amount, price):
user = SubElement(self.root, "item")
user.set("name", name)
user.set("itemId", str(item_id))
user.set("price", str(price))
user.set("add_time", str(time.time()))
user.set("relisted", str(0))
user.set("amount", str(amount))
user.set("uid", str(self.getId()))
self.save()
def get_uid(self, uid):
for elem in self.root:
if elem.get("uid") == str(uid):
return elem
return -10
def remove_item_uid(self, uid):
for elem in self.root:
if elem.get("uid") == str(uid):
self.root.remove(elem)
self.remove_id(uid)
self.save()
return 1
return -10
def save(self):
# Be sure to call save() after any changes to the tree.
self.tree = ElementTree(self.root)
self.tree.write("data/sale.xml")
|