import os import ConfigParser class config: def __init__(self, path=None): if not self.defaults: self.defaults = None self.confparser = ConfigParser.ConfigParser(self.defaults) self.paths=[] self.paths.append('/etc/mjuk/mjuk.conf') self.paths.append(os.path.expanduser('~')+'/.mjuk.conf') if path: self.paths.append(path) self.confparser.read (self.paths) def get(self, section, option): try: ret= self.confparser.get(section,option) except ConfigParser.NoSectionError: ret = self.defaults[option] return ret def getint(self, section, option): return self.confparser.getint(section,option) class serverClass(config): def __init__(self, path=None): self.defaults = {} self.defaults['databaseuser'] = "mjuk" self.defaults['databasepassword'] = "mjukis" self.defaults['database'] = "mjuk" self.defaults['databasehost'] = "localhost" self.defaults['databasetype'] = "myssql" self.defaults['host'] = "localhost" self.defaults['port'] = "8000" self.defaults['random'] = "on" config.__init__ (self,path) def databaseuser(self): return self.get('server','databaseuser') def databasetype(self): return self.get('server','databasetype') def databasepassword(self): return self.get('server','databasepassword') def database(self): return self.get('server','database') def databasehost(self): return self.get('server','databasehost') def host(self): return self.get('server','host') def port(self): return self.getint('server','port') def random(self): return self.get('server','random') class clientClass(config): def __init__(self, path=None): self.defaults = {} self.defaults['serverproxy'] = "http://localhost:8000" self.defaults['user'] = os.getenv("USER") self.defaults['password'] = "" self.defaults['location'] = "default" config.__init__ (self,path) def serverproxy(self): return self.get('client','serverproxy') def user(self): return self.get('client','user') def password(self): return self.get('client','password') def location(self): return self.get('client','location') class importClass(config): def __init__(self, path=None): self.defaults = {} self.defaults['import_directories'] = "/mnt/music" self.defaults['id3_encoding'] = "ascii" config.__init__ (self, path) def import_directories(self): return self.get('import','import_directories').split (' ') def id3_encoding(self): return self.get('import','id3_encoding') class lircClass(config): def __init__(self, path=None): self.defaults = {} self.defaults['user'] = "/mnt/music" self.defaults['password'] = "/mnt/music" self.defaults['location'] = "/mnt/music" config.__init__ (self,path) def user(self): return self.get('lirc','user') def password(self): return self.get('lirc','password') def location(self): return self.get('lirc','location')