diff -r 2fcc8ef0b97d -r f3a1b9792cc9 pgconsole/config.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pgconsole/config.py Tue Aug 16 23:53:54 2011 +0200 @@ -0,0 +1,73 @@ +from lxml import etree +from lxml import objectify + +class Config: + def __init__(self): + self.tree = None + self.fname = None + + + def new(self, fname=None): + E = objectify.E + self.root = E.psqlconsole( + E.servers, + E.editor( + E.nodes( + E.node('-- Type your query here', name='Untitled', type='text'), + selected='Untitled' + ) + ), + E.window( + E.size( + E.width(800), + E.height(600) + ), + E.dividers( + E.verticaldivider(300), + E.horizontaldivider(500), + E.editordivider(-1) + ) + ) + ) + self.tree = etree.ElementTree(self.root) + self.servers = self.root.servers + self.fname = fname + + + def load(self, fname=None): + if fname: + self.fname = fname + self.tree = objectify.parse(self.fname) + self.root = self.tree.getroot() + self.servers = self.root.servers + + + def save(self, fname=None): + if fname: + self.fname = fname + self.tree.write( + self.fname, + encoding='utf-8', + xml_declaration=True, + pretty_print=True, + compression=6) + + + def add_server(self, name, host, port, user, password): + e = etree.SubElement(self.servers, 'server') + e.name = name + e.host = host + e.port = port + e.user = user + e.password = password + return e + + +cfg = Config() + + +if __name__ == '__main__': + cfg.load('../psqlconsole.xml.gz') + print cfg.root.servers.server[0].host.text + cfg.save() +