aboutsummaryrefslogtreecommitdiffstats
path: root/interfaces/web/cfbe.py
diff options
context:
space:
mode:
Diffstat (limited to 'interfaces/web/cfbe.py')
-rwxr-xr-xinterfaces/web/cfbe.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/interfaces/web/cfbe.py b/interfaces/web/cfbe.py
new file mode 100755
index 0000000..63fbc7e
--- /dev/null
+++ b/interfaces/web/cfbe.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+import cherrypy
+from cherryflavoredbugseverywhere import web
+from optparse import OptionParser
+from os import path
+
+module_dir = path.dirname(path.abspath(web.__file__))
+template_dir = path.join(module_dir, 'templates')
+
+def build_parser():
+ """Builds and returns the command line option parser."""
+
+ usage = 'usage: %prog bug_directory'
+ parser = OptionParser(usage)
+ return parser
+
+def parse_arguments():
+ """Parse the command line arguments."""
+
+ parser = build_parser()
+ (options, args) = parser.parse_args()
+
+ if len(args) != 1:
+ parser.error('You need to specify a bug directory.')
+
+ return { 'bug_root': args[0], }
+
+
+config = path.join(module_dir, 'cfbe.config')
+options = parse_arguments()
+
+WebInterface = web.WebInterface(path.abspath(options['bug_root']), template_dir)
+
+cherrypy.config.update({'tools.staticdir.root': path.join(module_dir, 'static')})
+app_config = { '/static': { 'tools.staticdir.on': True,
+ 'tools.staticdir.dir': '', } }
+cherrypy.quickstart(WebInterface, '/', app_config)