initial code repo
[stor4nfv.git] / src / ceph / src / brag / server / ceph_brag / app.py
diff --git a/src/ceph/src/brag/server/ceph_brag/app.py b/src/ceph/src/brag/server/ceph_brag/app.py
new file mode 100644 (file)
index 0000000..382679a
--- /dev/null
@@ -0,0 +1,19 @@
+from pecan import make_app
+from ceph_brag import model, json
+from pecan.hooks import TransactionHook
+
+def setup_app(config):
+
+    model.init_model()
+    app_conf = dict(config.app)
+
+    return make_app(
+        app_conf.pop('root'),
+        logging=getattr(config, 'logging', {}),
+        hooks=[TransactionHook(model.start,
+                               model.start,
+                               model.commit,
+                               model.rollback,
+                               model.clear)],
+        **app_conf
+    )