Changeset 1323
- Timestamp:
- 05/11/08 07:16:36 (8 months ago)
- Files:
-
- wine-doors/branches/0.2/src/engines/registry.py (moved) (moved from wine-doors/branches/0.2/src/bottles/registry.py)
- wine-doors/branches/0.2/src/log.py (modified) (1 diff)
- wine-doors/branches/0.2/src/preferences.py (modified) (9 diffs)
- wine-doors/branches/0.2/src/winedoors.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
wine-doors/branches/0.2/src/log.py
r1322 r1323 16 16 17 17 if not logpath: 18 logpath = os. expanduser("~/.wine-doors/wine-doors.log")18 logpath = os.path.expanduser("~/.wine-doors/wine-doors.log") 19 19 (path, logfile) = os.path.split( logpath ) 20 20 if not os.path.exists( logpath ): wine-doors/branches/0.2/src/preferences.py
r1215 r1323 8 8 """ 9 9 XML parser for the preferences file, the spec for this can be found at 10 http://www.wine-doors.org/trac/wiki/Preferences02 TODO10 http://www.wine-doors.org/trac/wiki/Preferences02 11 11 """ 12 12 def __init__ ( self, preferences, repositories, bottles ): … … 23 23 self.repo_password = None 24 24 self.bottle_path = None 25 self.bottles_base = None 25 26 26 27 def startElement( self, name, attrs ): 27 """28 Most elements are simple <tag>data</tag> type elements29 however there are also repositories and bottles;30 31 <repositories>32 <repo name="..." src="..."33 username="..." password="..." />34 </repositories>35 36 <bottles>37 <bottle path="..." ...? />38 </bottle>39 """40 28 if name == "winedoors-prefernces": 41 29 self.in_conf_file = True … … 44 32 elif name == "bottles" and self.in_conf_file: 45 33 self.in_bottles = True 46 elif name == "repo" and self.in_repo_list: 34 self.bottles_base = attrs.get( 'root' ) 35 elif name == "repository" and self.in_repo_list: 47 36 self.repo_name = attrs.get( 'name' ) 48 37 self.repo_name = self.repo_name.rstrip() … … 88 77 89 78 class Preferences: 90 def __init__( self, parent=None ):79 def __init__( self, parent=None, preferences_file=None ): 91 80 self.parent = parent 92 81 self.bottles = [] … … 94 83 self.licenses = [] 95 84 self.preferences = {} 85 86 if not preferences_file or not os.path.isfile( preferences_file ): 87 preferences_file = os.path.expanduser( "~/.wine-doors/preferences.xml") 88 if os.path.isfile( preferences_file ): 89 self.preferences_file = preferences_file 90 else: 91 preferences_file = "/etc/wine-doors/preferences.xml" 92 if not os.path.isfile( preferences_file ): 93 os.popen( "mkdir " + os.path.expanduser( "~/.wine-doors" ) ) 94 self.preferences_file = os.path.expanduser( "~/.wine-doors/preferences.xml" ) 95 self.Default() 96 self.DefaultRepos() 97 self.Save() 98 else: 99 self.preferences_file = preferences_file 96 100 97 101 def __setitem__( self, key, value ): … … 133 137 pass 134 138 135 def Load( self , prefsfile=None):139 def Load( self ): 136 140 """ 137 141 Load the preferences.xml file which is found in the <wine root>/wine-doors/ 138 142 """ 139 if not prefsfile or not os.path.isfile( prefsfile ):140 userprefs = os.path.expanduser( "~/.wine-doors/preferences.xml")141 if os.path.isfile( userprefs ):142 prefsfile = userprefs143 else:144 prefsfile = "/etc/wine-doors/preferences.xml"145 if not os.path.isfile( prefsfile ):146 os.popen( "mkdir " + os.path.expanduser( "~/.wine-doors" ) )147 prefsfile = os.path.expanduser( "~/.wine-doors/preferences.xml" )148 self.Default()149 self.DefaultRepos()150 self.Save()151 152 143 temp_repos = [] 153 144 temp_bottles = [] … … 155 146 parser = make_parser() 156 147 parser.setContentHandler( handler ) 157 parser.parse( prefsfile )148 parser.parse( self.preferences_file ) 158 149 159 150 for repo in temp_repos: … … 164 155 self.AddBottle( ''.join( repo[0:1] ), ''.join( repo[1:2] ), ''.join( repo[2:] ) ) 165 156 166 def Save( self, pref sfile=None ):157 def Save( self, preferences_file=None ): 167 158 """ Spit out an xml file, this could do with some sanity checking, to make sure its a valid file """ 168 if not prefsfile: 169 prefsfile = os.path.expanduser( "~/.wine-doors/preferences.xml" ) 170 (path, filename) = os.path.split( prefsfile ) 159 if not prefernces_file and self.preferences_file: 160 preferences_file = self.preferences_file 161 elif not preferences_file and not self.preferences_file: 162 preferences_file = os.path.expanduser( "~/.wine-doors/preferences.xml" ) 163 (path, filename) = os.path.split( preferences_file ) 171 164 172 165 if not os.path.exists( path ): 173 166 os.makedirs( path ) 174 167 175 f = open( pref sfile, "wt" )168 f = open( preferences_file, "wt" ) 176 169 f.write( "<winedoors-preferences>\n" ) 177 170 … … 197 190 198 191 if __name__ == "__main__": 199 print "----------Preferences----------" 192 print "Unit testing: Preferences" 193 print "------------------------------------------------" 200 194 preferences = Preferences() 195 print "Keys/Values:" 201 196 for key, value in preferences.preferences.iteritems(): 202 print key, ' =', value203 print "-------------------------------"204 print " ----------Repositories---------"197 print key, ' = ', value 198 print 199 print "Repositories:" 205 200 for name, uri, username, password in preferences.repositories: 206 print 'Repository name: '.name, ' URI: '.uri 207 print "-------------------------------" 208 209 print "Setting name to \"testing save\"" 201 print "Repository, name: " + name + " URI: " + uri 202 print 203 print "Bottles:" 204 for name, path, icon in preferences.bottles: 205 print "Bottle, name: " + name + " path: " + path 206 print 207 208 print "Testing load/save:" 209 print "Setting name to \"testing\"" 210 210 oldpref = preferences["name"] 211 preferences["name"] = "testing save" 212 print "----------Preferences----------" 213 for key, value in preferences.preferences.iteritems(): 214 print key, '=', value 215 print "-------------------------------" 211 preferences["name"] = "testing" 216 212 preferences.Save() 217 213 print "Saved" 218 214 print "Loading" 219 215 preferences.Load() 220 print "----------Prefs---------" 221 for key, value in prefs.iteritems(): 222 print key, '=', value 223 print "------------------------" 216 print "preferences['name'] = " + preferences['name'] 224 217 preferences["name"] = oldpref 225 218 preferences.Save() wine-doors/branches/0.2/src/winedoors.py
r1322 r1323 124 124 except KeyboardInterrupt: 125 125 print "^c caught. Quitting." 126 winedoors.log.End() 126 127 quit() 127 128 #TODO: Check whats happening before quiting.
