[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Add initial suites and archives routines



Signed-off-by: Mark Hymers <mhy@debian.org>
---
 dakweb/dakwebserver.py    |    2 ++
 dakweb/queries/archive.py |   26 ++++++++++++++++++++++++++
 dakweb/queries/suite.py   |   29 +++++++++++++++++++++++++++++
 3 files changed, 57 insertions(+)
 create mode 100644 dakweb/queries/archive.py
 create mode 100644 dakweb/queries/suite.py

diff --git a/dakweb/dakwebserver.py b/dakweb/dakwebserver.py
index e6f7181..24c729c 100755
--- a/dakweb/dakwebserver.py
+++ b/dakweb/dakwebserver.py
@@ -32,7 +32,9 @@ def path_help(path=None):
 QueryRegister().register_path('/path_help', list_paths)
 
 # Import our other methods
+from queries.archive import *
 from queries.source import *
+from queries.suite import *
 
 # Set up our initial database connection
 d = DBConn()
diff --git a/dakweb/queries/archive.py b/dakweb/queries/archive.py
new file mode 100644
index 0000000..41c36a2
--- /dev/null
+++ b/dakweb/queries/archive.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python
+
+import bottle
+import json
+
+from daklib.dbconn import DBConn, Archive
+from dakweb.webregister import QueryRegister
+
+@bottle.route('/archives')
+def archives():
+    """
+    Returns a list of supported archives
+    """
+
+    s = DBConn().session()
+    q = s.query(Archive)
+    q = q.order_by(Archive.archive_name)
+    ret = []
+    for a in q:
+        ret.append({'name':      a.archive_name,
+                    'suites':    [x.suite_name for x in a.suites]})
+
+    return json.dumps(ret)
+
+QueryRegister().register_path('/archives', archives)
+
diff --git a/dakweb/queries/suite.py b/dakweb/queries/suite.py
new file mode 100644
index 0000000..9b37e69
--- /dev/null
+++ b/dakweb/queries/suite.py
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+
+import bottle
+import json
+
+from daklib.dbconn import DBConn, Suite
+from dakweb.webregister import QueryRegister
+
+@bottle.route('/suites')
+def suites():
+    """
+    Returns a list of all suites
+    """
+
+    s = DBConn().session()
+    q = s.query(Suite)
+    q = q.order_by(Suite.suite_name)
+    ret = []
+    for p in q:
+        ret.append({'name':       p.suite_name,
+                    'codename':   p.codename,
+                    'archive':    p.archive.archive_name,
+                    'architectures': [x.arch_string for x in p.architectures],
+                    'components': [x.component_name for x in p.components]})
+
+    return json.dumps(ret)
+
+QueryRegister().register_path('/suites', suites)
+
-- 
1.7.10.4


Reply to: