Trees | Indices | Help |
---|
|
1 # -*- Mode: Python; fill-column: 80 -*- 2 # vi:si:et:sw=4:sts=4:ts=4 3 # 4 # Flumotion - a streaming media server 5 # Copyright (C) 2004-2011 Fluendo, S.L. (www.fluendo.com). 6 # All rights reserved. 7 8 # This file may be distributed and/or modified under the terms of 9 # the GNU General Public License version 2 as published by 10 # the Free Software Foundation. 11 # This file is distributed without any warranty; without even the implied 12 # warranty of merchantability or fitness for a particular purpose. 13 # See "LICENSE.GPL" in the source distribution for more information. 14 15 # Licensees having purchased or holding a valid Flumotion Advanced 16 # Streaming Server license may use this file in accordance with the 17 # Flumotion Advanced Streaming Server Commercial License Agreement. 18 # See "LICENSE.Flumotion" in the source distribution for more information. 19 20 # Headers in this file shall remain intact. 21 22 """Save and restore the settings of the mainwindow""" 23 24 import os 25 from xml.dom import minidom, Node 26 from xml.parsers.expat import ExpatError 27 28 from flumotion.common import log 29 from flumotion.configure import configure 30 31 __version__ = "$Rev$" 32 3335 """ 36 Sets up the settings. Expects a filename where settings 37 will be stored 38 """ 3988 8941 if filename is None: 42 self._filename = os.path.join( 43 configure.cachedir, 44 'gtk-admin-state') 45 else: 46 self._filename = filename 47 self._values = {} 48 self.read()4951 try: 52 tree = minidom.parse(self._filename) 53 node = tree.getElementsByTagName('gtk-admin-state')[0] 54 for elem in node.childNodes: 55 self._values[elem.nodeName] = elem.firstChild.data 56 except (IOError, IndexError, ExpatError), e: 57 log.warning('Cannot read gtl-admin-state %s', 58 log.getExceptionMessage(e))5961 try: 62 f = open(self._filename, 'w') 63 doc = minidom.Document() 64 root = doc.createElement('gtk-admin-state') 65 doc.appendChild(root) 66 for key, value in self._values.iteritems(): 67 self._append(doc, root, key, value) 68 doc.writexml(f) 69 f.close() 70 except IOError, e: 71 log.warning('Cannot find gtk-admin-state: %s', 72 log.getExceptionMessage(e))7375 element = doc.createElement(key) 76 root.appendChild(element) 77 value = doc.createTextNode(value) 78 element.appendChild(value)79 8284 return self._values.get(key, default)8591 return Settings()92
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Fri Apr 29 18:38:06 2011 | http://epydoc.sourceforge.net |