allow additional db parameters when setting up storage
This commit is contained in:
		
							parent
							
								
									1eff3d2c8b
								
							
						
					
					
						commit
						efd47419a0
					
				
					 2 changed files with 12 additions and 3 deletions
				
			
		|  | @ -69,9 +69,13 @@ class StorageFactory(object): | |||
|          return self.engine.connect | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def getEngine(dbtype, dbname, user, pw, host='localhost', port=5432, **kw): | ||||
|     def getEngine(dbtype, dbname, user, pw, **kw): | ||||
|         return create_engine('%s:///%s' % (dbtype, dbname), **kw) | ||||
| 
 | ||||
|     def engineFromConfig(self, config): | ||||
|         return self.getEngine(config.dbengine, config.dbname,  | ||||
|                               config.dbuser, config.dbpassword)  | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def mark_changed(session): | ||||
|         pass | ||||
|  | @ -86,8 +90,7 @@ class StorageFactory(object): | |||
|     storageClass = Storage | ||||
| 
 | ||||
|     def __init__(self, config, storageClass=None): | ||||
|         self.engine = self.getEngine(config.dbengine, config.dbname,  | ||||
|                                      config.dbuser, config.dbpassword)  | ||||
|         self.engine = self.engineFromConfig(config) | ||||
|         self.Session = self.sessionFactory() | ||||
|         if storageClass is not None: | ||||
|             self.storageClass = storageClass | ||||
|  |  | |||
|  | @ -24,6 +24,12 @@ class StorageFactory(StorageFactory): | |||
|         return create_engine('%s://%s:%s@%s:%s/%s' % ( | ||||
|             dbtype, user, pw, host, port, dbname), **kw) | ||||
| 
 | ||||
|     def engineFromConfig(self, config): | ||||
|         return self.getEngine(config.dbengine, config.dbname,  | ||||
|                               config.dbuser, config.dbpassword, | ||||
|                               host=getattr(config, 'dbhost', 'localhost'), | ||||
|                               port=getattr(config, 'dbport', 5432)) | ||||
| 
 | ||||
|     @staticmethod | ||||
|     def mark_changed(session): | ||||
|         return mark_changed(session) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue