Add dirtag.xul -> web.py data transfer.
[dirtag.git] / dirtag / web.py
index fee3bb82e436f3b09cdfcb094f21a2bff090f69b..0d33ebf6cc84c1613bd85f7382c3efe283b24422 100755 (executable)
@@ -17,9 +17,9 @@ class WebInterface:
         """Initialize the bug repository for this web interface."""
         self.dirtag = dirtag
         self.env = Environment(loader=FileSystemLoader(template_dir))
-        self.repository_name = repository_name    
+        self.repository_name = repository_name
         self.rdf_root = 'http://dirtag.com/'
-    
+
     @cherrypy.expose
     def index(self):
         template = self.env.get_template('dirtag.xul')
@@ -115,8 +115,22 @@ class WebInterface:
         """
         return len([x for x,y in zip(a,b) if x==y]) == len(a)
 
-    #raise cherrypy.HTTPRedirect('/static/dirtag.xul', status=302)
-    
+    @cherrypy.expose
+    def new_tag(self, tag):
+        self.dirtag.new_tag(tag.split('/'))
+        return '<p>New tag %s added</p>' % tag
+
+    @cherrypy.expose
+    def add_tag(self, path, tag):
+        self.dirtag.add_tag(path.split('/'), tag.split('/'))
+        return '<p>Added tag %s to %s</p>' % (tag, path)
+
+    @cherrypy.expose
+    def remove_tag(self, path, tag):
+        self.dirtag.remove_tag(path.split('/'), tag.split('/'))
+        return '<p>Removed tag %s from %s</p>' % (tag, path)
+
+
 if __name__ == '__main__':
     parser = OptionParser('%prog [options]', epilog=WebInterface.__doc__)
     parser.add_option('-r', '--raw-dir', dest='raw_dir', metavar='DIR',