[cvs-annodex] commit (/annodex): cmmlwiki/trunk/cmmlwiki/handler.py

conrad nobody at lists.annodex.net
Fri Dec 23 12:04:50 EST 2005


Update of /annodex (new revision 1731)

Modified files:
   cmmlwiki/trunk/cmmlwiki/handler.py

Log Message:
delete metas attached to a clip when deleting an individual clip


Modified: cmmlwiki/trunk/cmmlwiki/handler.py
===================================================================
--- cmmlwiki/trunk/cmmlwiki/handler.py	2005-12-23 00:34:14 UTC (rev 1730)
+++ cmmlwiki/trunk/cmmlwiki/handler.py	2005-12-23 01:04:48 UTC (rev 1731)
@@ -355,16 +355,33 @@
     location ('%s?action=edit&ixc=%s' % (iname2edit (self.iname), values['ixc']))
 
   def delete_clip (self):
-    values = {}
-    values['ixc'] = self.form['ixc'].value
+    vals = {}
+    vals['ixc'] = self.form['ixc'].value
 
     env = Environment()
     db = env.db_filename()
     con = sqlite.connect(db, encoding='utf-8', autocommit=1)
     cur = con.cursor()
-    sql = 'DELETE FROM clips WHERE ixc="%(ixc)s"' % values
+
+    # Delete metas of clips
+    sql = """DELETE FROM metas
+             WHERE ixm IN (
+               SELECT metas.ixm FROM metas,clip_metas
+               WHERE clip_metas.ixm=metas.ixm
+               AND clip_metas.ixc="%(ixc)s"
+             )
+          """ % vals
+    cur.execute (sql)
+
+    sql = """DELETE FROM clip_metas
+             WHERE ixc="%(ixc)s"
+          """ % vals
+    cur.execute (sql)
+
+    sql = 'DELETE FROM clips WHERE ixc="%(ixc)s"' % vals
     cur.execute(sql)
-    sql = 'DELETE FROM item_clips WHERE ixc="%(ixc)s"' % values
+
+    sql = 'DELETE FROM item_clips WHERE ixc="%(ixc)s"' % vals
     cur.execute(sql)
 
     self.toc()


-- 
conrad



More information about the cvs-annodex mailing list