[cvs-annodex] commit (/annodex): cmmlwiki/trunk/cgi-bin/view.cgi
+cmmlwiki/trunk/cmmlwiki/cmml.py
conrad
nobody at lists.annodex.net
Tue Nov 15 17:50:23 EST 2005
Update of /annodex (new revision 1631)
Added files:
cmmlwiki/trunk/cmmlwiki/cmml.py
Modified files:
cmmlwiki/trunk/cgi-bin/view.cgi
Log Message:
move cmml generation out of view.cgi and into new cmml module
Modified: cmmlwiki/trunk/cgi-bin/view.cgi
===================================================================
--- cmmlwiki/trunk/cgi-bin/view.cgi 2005-11-15 06:31:50 UTC (rev 1630)
+++ cmmlwiki/trunk/cgi-bin/view.cgi 2005-11-15 06:50:23 UTC (rev 1631)
@@ -1,78 +1,12 @@
#!/usr/bin/python
-import re
-import sys
import os
import cgi
-import sqlite
+from cmmlwiki.database import inspect
+from cmmlwiki.cmml import dump_cmml
from cmmlwiki.play import play
-from cmmlwiki.database import inspect
-from cmmlwiki.time import parseTimestamp, time2npt
-from cmmlwiki.utils import cmml_preamble, content_type, content_type_cmml, location, http_404, xmlescape, iname2edit, url2view
-
-frame_extract_base = "/cmmlwiki/frame_extract"
-
-def make_cmml(inspector, ixi, iname):
- def key_isprintable (dict, key):
- return (dict.has_key(key) and dict[key] != None and dict[key] != '')
-
- content_type_cmml ()
-
- print cmml_preamble
-
- print """<cmml>
-<head>
-<title>%s - CMML Wiki</title>
-</head>
-""" % iname
-#<link rel="edit" href="%s" />
-#""" % (iname, iname2edit(iname))
-
- sql = """SELECT * FROM item_clips,clips
- WHERE item_clips.ixc=clips.ixc
- AND item_clips.ixi="%s"
- ORDER BY clips.start_time
- """ % (ixi)
- inspector.cur.execute(sql)
- for row in inspector.cur.fetchall():
- print '<clip'
- if (key_isprintable (row, 'clips.id')):
- print ' id="%s"' % xmlescape(row['clips.id'])
- if (key_isprintable (row, 'clips.start_time')):
- print ' start="%s"' % time2npt (row['clips.start_time'])
- print '>'
-
- if (key_isprintable (row, 'clips.a_href')):
- a_href = url2view(row['clips.a_href'])
- if (key_isprintable (row, 'clips.a_text')):
- a_text = xmlescape(row['clips.a_text'])
- else:
- a_text = xmlescape(row['clips.a_href'])
-
- print '<a href="%s">%s</a>' % (a_href, a_text)
-
- #if (key_isprintable (row, 'img_src')):
- # print '<img src="%(img_src)s"/>' % row
-
- if (row['clips.start_time'] == 0):
- img_time = 1
- else:
- img_time = row['clips.start_time']
-
- print '<img src="%s/%s?t=%s"/>' % (frame_extract_base, xmlescape(iname), img_time)
-
- if (key_isprintable (row, 'clips.desc')):
- print '<desc>%s</desc>' % xmlescape(row['clips.desc'])
-
- print '</clip>'
-
- print """
-</cmml>
-"""
-
-# Define main function.
def main():
inspector = inspect()
@@ -103,7 +37,7 @@
if (ixi == -1):
http_404 ()
elif (accept == "text/x-cmml"):
- make_cmml(inspector, ixi, iname)
+ dump_cmml(inspector, ixi, iname)
else:
play (inspector, ixi, id, t)
Added: cmmlwiki/trunk/cmmlwiki/cmml.py
===================================================================
--- cmmlwiki/trunk/cmmlwiki/cmml.py 2005-11-15 06:31:50 UTC (rev 1630)
+++ cmmlwiki/trunk/cmmlwiki/cmml.py 2005-11-15 06:50:23 UTC (rev 1631)
@@ -0,0 +1,82 @@
+# -*- coding: iso8859-1 -*-
+#
+# Copyright (C) 2005 CSIRO Australia
+# All rights reserved.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution.
+#
+# This software consists of voluntary contributions made by many
+# individuals. For exact contribution history, see the revision
+# history and logs.
+#
+# Author: Conrad Parker <conrad at annodex.net>
+
+import re
+import sys
+import os
+import cgi
+import sqlite
+
+from cmmlwiki.time import time2npt
+from cmmlwiki.utils import cmml_preamble, content_type_cmml, location, http_404, xmlescape, iname2edit, url2view
+
+frame_extract_base = "/cmmlwiki/frame_extract"
+
+def dump_cmml(inspector, ixi, iname):
+ def key_isprintable (dict, key):
+ return (dict.has_key(key) and dict[key] != None and dict[key] != '')
+
+ content_type_cmml ()
+
+ print cmml_preamble
+
+ print """<cmml>
+<head>
+<title>%s - CMML Wiki</title>
+</head>
+""" % iname
+#<link rel="edit" href="%s" />
+#""" % (iname, iname2edit(iname))
+
+ sql = """SELECT * FROM item_clips,clips
+ WHERE item_clips.ixc=clips.ixc
+ AND item_clips.ixi="%s"
+ ORDER BY clips.start_time
+ """ % (ixi)
+ inspector.cur.execute(sql)
+ for row in inspector.cur.fetchall():
+ print '<clip'
+ if (key_isprintable (row, 'clips.id')):
+ print ' id="%s"' % xmlescape(row['clips.id'])
+ if (key_isprintable (row, 'clips.start_time')):
+ print ' start="%s"' % time2npt (row['clips.start_time'])
+ print '>'
+
+ if (key_isprintable (row, 'clips.a_href')):
+ a_href = url2view(row['clips.a_href'])
+ if (key_isprintable (row, 'clips.a_text')):
+ a_text = xmlescape(row['clips.a_text'])
+ else:
+ a_text = xmlescape(row['clips.a_href'])
+
+ print '<a href="%s">%s</a>' % (a_href, a_text)
+
+ #if (key_isprintable (row, 'img_src')):
+ # print '<img src="%(img_src)s"/>' % row
+
+ if (row['clips.start_time'] == 0):
+ img_time = 1
+ else:
+ img_time = row['clips.start_time']
+
+ print '<img src="%s/%s?t=%s"/>' % (frame_extract_base, xmlescape(iname), img_time)
+
+ if (key_isprintable (row, 'clips.desc')):
+ print '<desc>%s</desc>' % xmlescape(row['clips.desc'])
+
+ print '</clip>'
+
+ print """
+</cmml>
+"""
--
conrad
More information about the cvs-annodex
mailing list