[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: