source: trunk/demo/settings.py @ 30

Revision 30, 1.8 KB checked in by maximinus_parpg, 11 years ago (diff)

Added new transitions layer to map
Converted all code in /demo/ to use spaces, not tabs

Line 
1import shutil
2
3try:
4    import xml.etree.cElementTree as ET
5except:
6    import xml.etree.ElementTree as ET
7
8class Setting(object):
9    def setDefaults(self):
10        shutil.copyfile('settings-dist.xml', 'settings.xml')
11        self.isSetToDefault = True
12        self.changesRequireRestart = True
13
14    def readSetting(self, name, type='int', strip=True, text=False):
15        if not hasattr(self, 'tree'):
16            self.tree = ET.parse('settings.xml')
17            self.root_element = self.tree.getroot()
18        element = self.root_element.find(name)
19        if element is not None:
20            element_value = element.text
21            if element_value is None:
22                if type == 'int':
23                    return 0
24                elif type == 'list':
25                    list = []
26                    return list
27            else:
28                if type == 'int':
29                    return element_value.strip() if strip else element_value
30                elif type == 'list':
31                    list = []
32                    list_s = []
33                    list = str(element_value.strip()).split(";")
34                    for item in list:
35                        item = item.strip()
36                        if text:
37                            item = item.replace('\\n', '\n')
38                        list_s.append(item)
39                    return list_s
40                elif type == 'bool':
41                    return False if element_value.strip() == 'False' else True
42        else:
43            print 'Setting,', name, 'does not exist!'
44
45    def setSetting(self, name, value):
46        element = self.root_element.find(name)
47        if element is not None:
48            if value is not element.text:
49                element.text = str(value)
50        else:
51            print 'Setting,', name, 'does not exist!'
52
Note: See TracBrowser for help on using the repository browser.