summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Snapshots/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server/Snapshots/__init__.py')
-rw-r--r--src/lib/Server/Snapshots/__init__.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/lib/Server/Snapshots/__init__.py b/src/lib/Server/Snapshots/__init__.py
index 74a3894d7..b94511ebd 100644
--- a/src/lib/Server/Snapshots/__init__.py
+++ b/src/lib/Server/Snapshots/__init__.py
@@ -1 +1,21 @@
-__all__ = ['models']
+__all__ = ['models', 'db_from_config', 'setup_session']
+
+import sqlalchemy, sqlalchemy.orm, ConfigParser
+
+def db_from_config(fname='/etc/bcfg2.conf'):
+ cp = ConfigParser.ConfigParser()
+ cp.read([fname])
+ driver = cp.get('snapshots', 'driver')
+ if driver == 'sqlite':
+ path = cp.get('snapshots', 'database')
+ return 'sqlite:///%s' % path
+ else:
+ raise Exception, "not done yet"
+
+
+def setup_session(debug=False):
+ engine = sqlalchemy.create_engine(db_from_config(),
+ echo=debug)
+ Session = sqlalchemy.orm.sessionmaker()
+ Session.configure(bind=engine)
+ return Session()