--- nfo/projects/netfraggle/bin/fraggleCtlPreferences.py 2004/08/25 21:43:53 1.4 +++ nfo/projects/netfraggle/bin/fraggleCtlPreferences.py 2004/09/01 21:43:30 1.7 @@ -11,13 +11,13 @@ def __init_fraggle_xml__(self): self.fraggleXML = fraggleParserXML.create(self) - - - def __init__(self,parent): + self.engine = parent + self.configList = {} self.__init_fraggle_xml__() - - + self.restoreProfiles() + self.prefsfile = os.path.join(self.engine.getDefaultDir(), 'prefs.xml') + #def savePrefs(): @@ -25,16 +25,73 @@ self.configList = {'username': username,'password': password,'url': url,'retrieval': retrieval} def getConfig(self): + if not self.configList: + self.loadConfig(self.prefsfile) return self.configList - def loadConfig(self,inputLocation): self.configList = self.fraggleXML.unmarshalXML(inputLocation) - def saveConfig(self): - engine = FraggleEngine() - prefsfile = os.path.join(engine.getDefaultDir(), 'prefs.xml') - self.fraggleXML.marshalXML(self.configList, prefsfile) - + #self.fraggleXML.marshalXML(self.profileDictionary, self.prefsfile) + self.fraggleXML.marshalXML(self.configList, self.prefsfile) + + def saveProfiles(self): + profilesTemp = os.path.join(self.engine.getDefaultDir(), 'profiles.xml') + self.fraggleXML.marshalXML(self.profileDictionary, profilesTemp) + #print self.profileDictionary + + def restoreProfiles(self): + profiles = os.path.join(self.engine.getDefaultDir(), 'profiles.xml') + self.profileDictionary = self.fraggleXML.unmarshalXML(profiles) + #print self.profileDictionary + + def appendProfile(self,profileKey,configList): + #print "Appending: " + #print self.profileDictionary + list = self.getProfileList() + try: + temp = list.index(profileKey) + #print "Index Collision" + return 1 + except ValueError: + try: + self.profileDictionary.append(profileKey) + self.profileDictionary.append(configList) + except AttributeError: + self.profileDictionary = [profileKey,configList] + return 0 + #print self.profileDictionary + + + def loadProfile(self,profileKey): + try: + key = self.profileDictionary.index(profileKey) + self.configList = self.profileDictionary[key+1] + finally: + pass + + def getProfileList(self): + #print self.profileDictionary + try: + profileBuffer = self.profileDictionary + x = len(profileBuffer) -1 + tempList = [] + while x >= 0: + tempList.append(profileBuffer[x-1]) + x = x-2 + return tempList + except TypeError: + return [] + except IndexError: + return [] + + def deleteProfile(self,profileId): + try: + self.profileDictionary.pop(self.profileDictionary.index(profileId)+1) + self.profileDictionary.pop(self.profileDictionary.index(profileId)) + except IndexError: + pass + + \ No newline at end of file