aboutsummaryrefslogtreecommitdiffstats
path: root/RepSys/cgiutil.py
diff options
context:
space:
mode:
Diffstat (limited to 'RepSys/cgiutil.py')
-rw-r--r--RepSys/cgiutil.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/RepSys/cgiutil.py b/RepSys/cgiutil.py
new file mode 100644
index 0000000..ebb65c9
--- /dev/null
+++ b/RepSys/cgiutil.py
@@ -0,0 +1,42 @@
+#!/usr/bin/python
+from RepSys import Error, config
+from RepSys.svn import SVN
+import time
+
+class CgiError(Error): pass
+
+class SubmitTarget:
+ def __init__(self):
+ self.name = ""
+ self.target = ""
+ self.allowed = []
+ self.scripts = []
+
+TARGETS = []
+
+def get_targets():
+ global TARGETS
+ if not TARGETS:
+ target = SubmitTarget()
+ targetoptions = {}
+ for option, value in config.walk("submit"):
+ if targetoptions.has_key(option):
+ TARGETS.append(target)
+ target = SubmitTarget()
+ targetoptions = {}
+ targetoptions[option] = 1
+ if option == "name":
+ target.name = value
+ elif option == "target":
+ target.target = value.split()
+ elif option == "allowed":
+ target.allowed = value.split()
+ elif option == "scripts":
+ target.scripts = value.split()
+ else:
+ raise Error, "unknown [submit] option %s" % option
+ if targetoptions:
+ TARGETS.append(target)
+ return TARGETS
+
+# vim:et:ts=4:sw=4