-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
48 lines (42 loc) · 1.58 KB
/
config.py
File metadata and controls
48 lines (42 loc) · 1.58 KB
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
import xml.etree.ElementTree as ETree
from patterns import DynamicObject
from util import strToBool
class Configuration():
"""
This class manages all the configuration
It has the responsibility to read and save configuration files
"""
def load(self, file):
"""
Parse file to retrieve properties
"""
xml = ETree.parse(file)
self.general = DynamicObject()
self.general.daemon = strToBool(xml.find("General/Daemon").text)
self.server = DynamicObject()
self.server.host = xml.find("Server/Host").text
self.server.port = int(xml.find("Server/Port").text)
self.logger = DynamicObject()
self.logger.logFile = xml.find("Logger/LogFile").text
self.logger.failsafeLogFile = xml.find("Logger/FailsafeLogFile").text
self.logger.logMaxLenght = int(xml.find("Logger/LogMaxLenght").text)
self.logger.smtpHost = xml.find("Logger/SMTPHost").text
self.logger.emailSender = xml.find("Logger/EmailSender").text
self.logger.emailReceivers = xml.find("Logger/EmailReceivers").text
self.logger.fileLogLevel = xml.find("Logger/FileLogLevel").text
self.logger.smtpLogLevel = xml.find("Logger/SMTPLogLevel").text
self.tiles = DynamicObject()
self.tiles.tilesPath = xml.find("Tiles/TilesPath").text
self.tiles.wms = xml.find("Tiles/WMS").text
self.tiles.filters = []
for it in xml.findall("Tiles/Filters/Filter"):
filter = DynamicObject()
filter.name = it.find("Name").text
filter.order = int(it.find("Order").text)
filter.hash = strToBool(it.find("Hash").text)
self.tiles.filters.append(filter)
def write(self, file):
"""
Write properties to file
"""
pass