diff wsgraph/web.py @ 12:421d5119e324

reluctantly make this a CLI entry point
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 10 Dec 2012 17:30:44 -0800
parents 9016b126aa87
children 7459702bf574
line wrap: on
line diff
--- a/wsgraph/web.py	Mon Dec 10 17:16:21 2012 -0800
+++ b/wsgraph/web.py	Mon Dec 10 17:30:44 2012 -0800
@@ -5,6 +5,7 @@
 """
 
 import json
+import sys
 from webob import Request, Response, exc
 
 # rank constants
@@ -106,11 +107,15 @@
 
         # get resource requestor
         segments = self.path_segments(request.path_info)
-        if len(segments) not in (0,1,2):
+        rank = len(segments)
+        if rank not in (0,1,2):
             return exc.HTTPNotFound()
 
 
         # is resource in the graph? [TODO]
+        if (rank == EDGE) or (rank == NODE):
+            if tuple(segments) not in self.graph:
+                retun exc.HTTPNotFound()
 
         # formatter
         formatter = self.formatters[len(segments)]
@@ -135,9 +140,9 @@
     def OPTIONS(self, request):
         return Response() # TODO: Allow=', '.join(self.methods); Content-Length=0
 
-if __name__ == '__main__':
 
-    ### example web server
+def main(args=sys.argv[1:]):
+    """example web server"""
 
     # imports
     from wsgiref import simple_server
@@ -159,3 +164,5 @@
     print 'http://localhost:%s/' % options.port
     server.serve_forever()
 
+if __name__ == '__main__':
+    main()