Changeset 3219
- Timestamp:
- 2007-09-03 05:55:46 (1 year ago)
- Files:
-
- arkaiv/trunk/TODO (modified) (1 diff)
- arkaiv/trunk/arkaiv/controllers/page.py (modified) (3 diffs)
- arkaiv/trunk/arkaiv/controllers/page.pyc (modified) (previous)
- arkaiv/trunk/arkaiv/model/__init__.py (modified) (1 diff)
- arkaiv/trunk/arkaiv/model/__init__.pyc (modified) (previous)
- arkaiv/trunk/arkaiv/model/cmmlparser.py (modified) (2 diffs)
- arkaiv/trunk/arkaiv/model/cmmlparser.pyc (modified) (previous)
- arkaiv/trunk/arkaiv/templates/displayitem.mak (modified) (4 diffs)
- arkaiv/trunk/data/templates/autohandler.py (modified) (3 diffs)
- arkaiv/trunk/data/templates/autohandler.pyc (modified) (previous)
- arkaiv/trunk/data/templates/displayitem.mak.py (modified) (4 diffs)
- arkaiv/trunk/data/templates/displayitem.mak.pyc (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
arkaiv/trunk/TODO
r3214 r3219 1 1 TODO 2 3 Implement addition of ogg file tag information. 2 4 3 5 Implement removal of meta tags from the head. arkaiv/trunk/arkaiv/controllers/page.py
r3218 r3219 357 357 print cliplist 358 358 # Extract meta info from the head and add to database 359 metalist = parser.getheadinfofromcmml(newcmmlname) 359 parser = cmmlParser() 360 parser.setcmmlfilename(newcmmlname) 361 metalist = parser.getheadinfofromcmml() 360 362 for metadict in metalist: 361 363 metadict['headindex'] = headid … … 485 487 486 488 # Extract meta info from the head and add to database 487 metalist = parser.getheadinfofromcmml(newcmmlname) 489 parser = cmmlParser() 490 parser.setcmmlfilename(newcmmlname) 491 metalist = parser.getheadinfofromcmml() 488 492 for metadict in metalist: 489 493 metadict['headindex'] = headid … … 535 539 return render('/help.mak') 536 540 537 541 def deletemeta(self): 542 metaid = request.params['metaid'] 543 itemid = request.params['itemid'] 544 headid = request.params['headid'] 545 print "itemid is" + str(itemid) 546 model.deletemeta(metaid) 547 # easier to read meta info and add all in one go? 548 metalist = model.getmetasforhead(headid) 549 print metalist 550 # now write these back to the cmml file 551 # parser = ... 552 cmmlfile = model.getitemcmmlfile(itemid) 553 parser = cmmlParser() 554 parser.setcmmlfilename(cmmlfile) 555 parser.syncheadmetas(metalist) 556 557 redirect_to(action='displayitem', id=itemid, edit="yes") 558 arkaiv/trunk/arkaiv/model/__init__.py
r3218 r3219 611 611 return resultsdict 612 612 613 def deletemeta(metaid): 614 meta_q = sac.query(Meta) 615 m = meta_q.get_by(ixm=metaid) 616 sac.session.delete(m) 617 sac.session.flush() 618 return 619 arkaiv/trunk/arkaiv/model/cmmlparser.py
r3217 r3219 109 109 110 110 def getheadinfofromcmml(self, cmmlfilename): 111 Etree = ElementTree 112 doc = Etree.parse(cmmlfilename) 113 root = doc.getroot() 114 head = root.getiterator('head') 111 """ given a cmmlfile, returns a list of the meta tags in the head 112 113 """ 114 #Etree = ElementTree 115 #doc = Etree.parse(cmmlfilename) 116 #root = doc.getroot() 117 head = self.root.getiterator('head') 115 118 metalist = [] 116 119 for h in head: … … 212 215 return 213 216 217 # def addheadmetas(metalist): 218 # root = self.doc.getroot() 219 # head = root.getiterator('head') 220 # for h in head: 221 # mlist = h.findall('meta') 222 # for m in mlist: 223 # h.remove(m) 224 225 226 arkaiv/trunk/arkaiv/templates/displayitem.mak
r3217 r3219 78 78 </script> 79 79 </td> 80 <td> 81 ${ h.form(h.url(action='deletemeta'), multipart=True) } 82 ${ h.submit('Delete') } 83 ${ h.hidden_field('metaid', value=metainfo['ixm']) } 84 ${ h.hidden_field('itemid', value=c.itemid) } 85 ${ h.hidden_field('headid', value=c.headdict['ixh']) } 86 ${ h.end_form() } 87 88 </td> 80 89 </tr> 81 90 % endfor … … 92 101 93 102 <tr> 94 <td> ${ h.text_field('metaid', size=5) }</td>103 <td>${ h.text_field('metaid', size=5) }</td> 95 104 <td>${ h.text_field('metaname') }</td> 96 105 <td>${ h.text_field('metacontent') }</td> … … 176 185 <td>Start</td> 177 186 <td>${ h.text_field('starttime', size=5) }</td> 178 <td>Desc</td> 187 </tr> 188 <tr> 189 <td>Desc</td> 179 190 <td> 180 191 <input type="text" name="desc" size="20" onfocus="disableShortcuts()" onblur="enableShortcuts()" id="desc" /> … … 184 195 <td>a_text</td> 185 196 <td>${ h.text_field('a_text') }</td> 197 </tr> 198 <tr> 186 199 <td>a_href</td> 187 200 <td>${ h.text_field('a_href') }</td> arkaiv/trunk/data/templates/autohandler.py
r3215 r3219 2 2 UNDEFINED = runtime.UNDEFINED 3 3 _magic_number = 2 4 _modified_time = 1188 622693.33428694 _modified_time = 1188780210.5353839 5 5 _template_filename=u'/home/dcrowdy/src/working/test/arkaiv/trunk/arkaiv/templates/autohandler' 6 6 _template_uri=u'/autohandler' … … 20 20 # SOURCE LINE 5 21 21 context.write(unicode( h.javascript_include_tag('/javascripts/effects.js', builtins=True) )) 22 context.write(u' \n\n </head>\n <body >\n<p class="header">\n<h1>Arkaiv</h1>\n<div id="navcontainer">\n<ul id="navlist">\n <li>')22 context.write(u' \n\n </head>\n <body onkeypress=\'keyPressed(event)\'>\n<p class="header">\n<h1>Arkaiv</h1>\n<div id="navcontainer">\n<ul id="navlist">\n <li>') 23 23 # SOURCE LINE 13 24 24 context.write(unicode( h.link_to("All Items", h.url(action="mainpage")) )) … … 28 28 context.write(u'</li>\n <li>') 29 29 # SOURCE LINE 15 30 context.write(unicode( h.link_to("Add annodex media", h.url(action="addannodexform")) )) 30 context.write(unicode( h.link_to("Add media", h.url(action="addannodexform")) )) 31 context.write(u'</li>\n <li>') 32 # SOURCE LINE 16 33 context.write(unicode( h.link_to("Help", h.url(action="displayhelp")) )) 31 34 context.write(u'</li>\n <li><span class="searchpadding">\n') 32 # SOURCE LINE 1 735 # SOURCE LINE 18 33 36 context.write(unicode( h.form(h.url(action='search'), multipart=True) )) 34 37 context.write(u'\n') 35 # SOURCE LINE 1 838 # SOURCE LINE 19 36 39 context.write(unicode( h.text_field('searchterms', value="Search") )) 37 40 context.write(u' \n') 38 # SOURCE LINE 1941 # SOURCE LINE 20 39 42 context.write(unicode( h.end_form() )) 40 43 context.write(u' \n </span>\n </li>\n</ul>\n</div>\n</p>\n\n <!--div class="content"-->\n') 41 # SOURCE LINE 2 744 # SOURCE LINE 28 42 45 context.write(unicode(next.body())) 43 46 context.write(u'\n <p class="footer">\n </p>\n <!--/div-->\n </body>\n</html>\n\n') arkaiv/trunk/data/templates/displayitem.mak.py
r3215 r3219 2 2 UNDEFINED = runtime.UNDEFINED 3 3 _magic_number = 2 4 _modified_time = 1188 629045.88358594 _modified_time = 1188822727.9317019 5 5 _template_filename='/home/dcrowdy/src/working/test/arkaiv/trunk/arkaiv/templates/displayitem.mak' 6 6 _template_uri='/displayitem.mak' … … 28 28 c = context.get('c', UNDEFINED) 29 29 # SOURCE LINE 1 30 context.write(u' \n<div id="video">\n <p id="edititemname">')31 # SOURCE LINE 330 context.write(u' \n<div id="video">\n\n<p id="edititemname">') 31 # SOURCE LINE 4 32 32 context.write(unicode(c.itemname)) 33 33 context.write(u'</p>\n<script type="text/javascript">\n new Ajax.InPlaceEditor(\'edititemname\', \'/page/edititemname\', { callback: function(form, value) { return \'itemid=') 34 # SOURCE LINE 534 # SOURCE LINE 6 35 35 context.write(unicode(c.itemid)) 36 36 context.write(u"&myparam=' + escape(value) }});\n</script>\n\n\n") 37 # SOURCE LINE 937 # SOURCE LINE 10 38 38 context.write(unicode( h.form(h.url(action='deleteitem'), multipart=True) )) 39 39 context.write(u'\n') 40 # SOURCE LINE 1 040 # SOURCE LINE 11 41 41 context.write(unicode( h.submit('Delete') )) 42 42 context.write(u' \n') 43 # SOURCE LINE 1144 context.write(unicode( h.hidden_field('itemid', value=c.itemid) ))45 context.write(u'\n')46 43 # SOURCE LINE 12 44 context.write(unicode( h.hidden_field('itemid', value=c.itemid) )) 45 context.write(u'\n') 46 # SOURCE LINE 13 47 47 context.write(unicode( h.end_form() )) 48 48 context.write(u' \n \n <embed type="application/liboggplay"\n src="') 49 # SOURCE LINE 1 549 # SOURCE LINE 16 50 50 context.write(unicode(c.sourcedict['urlpath'])) 51 51 context.write(unicode(c.sourcedict['clipdetail'])) 52 context.write(u'"\n width="320" height="240"/>\n<form name="api">\n<table style="font-size:small">\n<tr>\n<td><input type="button" value="<<" onclick=\'skip(-1)\'/></td>\n<td><input type="button" value="Play" onclick=\'Play()\'/></td>\n<td><input type="button" value="Pause" onclick=\'Pause()\'/></td>\n<td><input type="button" value=">>" onclick=\'skip(1)\'/></td>\n</tr>\n<tr>\n<td><input type="button" value="Get position" onclick=\'GetPlayPosition()\'/></td>\n<td><input type="button" value="Go to pos" onclick=\'GotoPosition()\'/></td>\n<td><input type="text" name="gotofield" size="5"/></td>\n<td>(secs)</td>\n< /tr>\n</table>\n<table style="font-size:small">\n<tr>\n<td>Output:</td>\n<td><textarea name="ofield" cols="40" rows="2"></textarea></td>\n</tr>\n<tr>\n<td>Amount to move << and >> (msecs):</td>\n<td><input type="text" name="ifield" size="20"/></td>\n</tr>\n</table>\n</form>\n\n<hr>\nHead:\n')53 # SOURCE LINE 4 652 context.write(u'"\n width="320" height="240"/>\n<form name="api">\n<table style="font-size:small">\n<tr>\n<td><input type="button" value="<<" onclick=\'skip(-1)\'/></td>\n<td><input type="button" value="Play" onclick=\'Play()\'/></td>\n<td><input type="button" value="Pause" onclick=\'Pause()\'/></td>\n<td><input type="button" value=">>" onclick=\'skip(1)\'/></td>\n</tr>\n<tr>\n<td><input type="button" value="Get position" onclick=\'GetPlayPosition()\'/></td>\n<td><input type="button" value="Go to pos" onclick=\'GotoPosition()\'/></td>\n<td><input type="text" name="gotofield" size="5"/></td>\n<td>(secs)</td>\n<td>Disable key shortcuts:</td>\n<td><input type="checkbox" name="shortcuts" value="toggle" onchange="toggleShortcuts()"></td>\n</tr>\n</table>\n<table style="font-size:small">\n<tr>\n<td>Output:</td>\n<td><textarea name="ofield" cols="40" rows="2"></textarea></td>\n</tr>\n<tr>\n<td>Amount to move << and >> (msecs):</td>\n<td><input type="text" name="ifield" size="20"/></td>\n</tr>\n</table>\n</form>\n\n<hr>\nHead:\n') 53 # SOURCE LINE 49 54 54 context.write(unicode( h.form(h.url(action='editheadinfo'), multipart=True) )) 55 55 context.write(u'\nid:\n') 56 # SOURCE LINE 4856 # SOURCE LINE 51 57 57 context.write(unicode( h.text_field('headid', value=c.headdict['id']) )) 58 58 context.write(u'\nTitle:\n') 59 # SOURCE LINE 5 059 # SOURCE LINE 53 60 60 context.write(unicode( h.text_field('headtitle', value=c.headdict['title']) )) 61 61 context.write(u'\n') 62 # SOURCE LINE 5 162 # SOURCE LINE 54 63 63 context.write(unicode( h.hidden_field('itemid', value=c.itemid) )) 64 64 context.write(u'\n\n') 65 # SOURCE LINE 5 365 # SOURCE LINE 56 66 66 context.write(unicode( h.submit('Edit') )) 67 67 context.write(u' \n') 68 # SOURCE LINE 5 468 # SOURCE LINE 57 69 69 context.write(unicode( h.end_form() )) 70 70 context.write(u' \n<br />\n<hr>\nMeta information:<br />\n<table style="font-size:small">\n<tr>\n <td>Name</td>\n <td>Content</td>\n</tr>\n') 71 # SOURCE LINE 6 371 # SOURCE LINE 66 72 72 for metainfo in c.metalist: 73 # SOURCE LINE 6 473 # SOURCE LINE 67 74 74 context.write(u'<tr>\n<td>\n<p id="editmetaname">') 75 # SOURCE LINE 6 675 # SOURCE LINE 69 76 76 context.write(unicode(metainfo['name'])) 77 77 context.write(u'</p>\n<script type="text/javascript">\n new Ajax.InPlaceEditor(\'editmetaname\', \'/page/editheadmetaname\', { callback: function(form, value) { return \'id=') 78 # SOURCE LINE 6878 # SOURCE LINE 71 79 79 context.write(unicode(metainfo['id'])) 80 80 context.write(u'&field=name&itemid=') 81 81 context.write(unicode(c.itemid)) 82 82 context.write(u'&myparam=\' + escape(value) }});\n</script>\n</td>\n<td>\n<p id="editmetacontent">') 83 # SOURCE LINE 7 283 # SOURCE LINE 75 84 84 context.write(unicode(metainfo['content'])) 85 85 context.write(u'</p>\n<script type="text/javascript">\n new Ajax.InPlaceEditor(\'editmetacontent\', \'/page/editheadmetaname\', { callback: function(form, value) { return \'id=') 86 # SOURCE LINE 7 486 # SOURCE LINE 77 87 87 context.write(unicode(metainfo['id'])) 88 88 context.write(u'&field=content&itemid=') 89 89 context.write(unicode(c.itemid)) 90 context.write(u"&myparam=' + escape(value) }});\n</script>\n</td>\n</tr> \n") 91 # SOURCE LINE 79 90 context.write(u"&myparam=' + escape(value) }});\n</script>\n</td>\n<td>\n") 91 # SOURCE LINE 81 92 context.write(unicode( h.form(h.url(action='deletemeta'), multipart=True) )) 93 context.write(u'\n') 94 # SOURCE LINE 82 95 context.write(unicode( h.submit('Delete') )) 96 context.write(u'\n') 97 # SOURCE LINE 83 98 context.write(unicode( h.hidden_field('metaid', value=metainfo['ixm']) )) 99 context.write(u'\n') 100 # SOURCE LINE 84 101 context.write(unicode( h.hidden_field('itemid', value=c.itemid) )) 102 context.write(u'\n') 103 # SOURCE LINE 85 104 context.write(unicode( h.hidden_field('headid', value=c.headdict['ixh']) )) 105 context.write(u'\n') 106 # SOURCE LINE 86 107 context.write(unicode( h.end_form() )) 108 context.write(u' \n\n</td>\n</tr> \n') 109 # SOURCE LINE 91 92 110 context.write(u'</table>\n<hr>\nAdd new meta tag:\n') 93 # SOURCE LINE 82111 # SOURCE LINE 94 94 112 context.write(unicode( h.form(h.url(action='addmetainfo'), multipart=True) )) 95 context.write(u'\n<table style="font-size:small">\n<tr>\n <td>Id</td>\n <td>Name</td>\n <td>Content</td>\n</tr>\n\n<tr>\n <td> ')96 # SOURCE LINE 91113 context.write(u'\n<table style="font-size:small">\n<tr>\n <td>Id</td>\n <td>Name</td>\n <td>Content</td>\n</tr>\n\n<tr>\n <td>') 114 # SOURCE LINE 103 97 115 context.write(unicode( h.text_field('metaid', size=5) )) 98 116 context.write(u'</td>\n <td>') 99 # SOURCE LINE 92117 # SOURCE LINE 104 100 118 context.write(unicode( h.text_field('metaname') )) 101 119 context.write(u'</td>\n <td>') 102 # SOURCE LINE 93120 # SOURCE LINE 105 103 121 context.write(unicode( h.text_field('metacontent') )) 104 122 context.write(u'</td>\n</tr>\n</table>\n') 105 # SOURCE LINE 96123 # SOURCE LINE 108 106 124 context.write(unicode( h.hidden_field('metascheme') )) 107 125 context.write(u'\n') 108 # SOURCE LINE 97126 # SOURCE LINE 109 109 127 context.write(unicode( h.hidden_field('headindex', value = c.headdict['ixh']) )) 110 128 context.write(u'\n') 111 # SOURCE LINE 98129 # SOURCE LINE 110 112 130 context.write(unicode( h.hidden_field('itemid', value=c.itemid) )) 113 131 context.write(u'\n\n') 114 # SOURCE LINE 1 00132 # SOURCE LINE 112 115 133 context.write(unicode( h.submit('Add') )) 116 134 context.write(u' \n') 117 # SOURCE LINE 1 01135 # SOURCE LINE 113 118 136 context.write(unicode( h.end_form() )) 119 137 context.write(u' \n\n<hr>\n\n\n<!--div class="sourceinfo"-->\n<table style="font-size:small">\n<tr>\n<td>Duration:</td><td> ') 120 # SOURCE LINE 1 09138 # SOURCE LINE 121 121 139 context.write(unicode(c.sourcedict['duration'])) 122 140 context.write(u'</td>\n</tr>\n<tr>\n<td>Bitrate: </td><td>') 123 # SOURCE LINE 1 12141 # SOURCE LINE 124 124 142 context.write(unicode(c.sourcedict['bitrate'])) 125 143 context.write(u'</td>\n</tr>\n<tr>\n<td>Resolution: </td><td>') 126 # SOURCE LINE 1 15144 # SOURCE LINE 127 127 145 context.write(unicode(c.sourcedict['resolution'])) 128 146 context.write(u'</td>\n</tr>\n<tr>\n<td>Framerate: </td><td>') 129 # SOURCE LINE 1 18147 # SOURCE LINE 130 130 148 context.write(unicode(c.sourcedict['framerate'])) 131 149 context.write(u'</td>\n</tr>\n<tr>\n<td>Audio: </td><td>') 132 # SOURCE LINE 1 21150 # SOURCE LINE 133 133 151 context.write(unicode(c.sourcedict['audio'])) 134 152 context.write(u'</td>\n</tr>\n<tr>\n<td>Has video: </td><td>') 135 # SOURCE LINE 1 24153 # SOURCE LINE 136 136 154 context.write(unicode(c.sourcedict['has_video'])) 137 155 context.write(u'</td>\n</tr>\n<tr>\n<td>Has audio: </td><td>') 138 # SOURCE LINE 1 27156 # SOURCE LINE 139 139 157 context.write(unicode(c.sourcedict['has_audio'])) 140 158 context.write(u'</td>\n</tr>\n</table>\n\n<!--/div!-->\n</div>\n\n<div id="clips">\nClips:\n<br />\n<table style="font-size:small">\n<tr>\n <td></td>\n <td>Time</td>\n <td></td>\n <td></td> \n</tr>\n') 141 # SOURCE LINE 1 44159 # SOURCE LINE 156 142 160 for clipinfo in c.cliplist: 143 # SOURCE LINE 1 45161 # SOURCE LINE 157 144 162 context.write(u'<tr>\n') 145 # SOURCE LINE 1 46163 # SOURCE LINE 158 146 164 if c.sourcedict['has_video'] == "Yes": 147 # SOURCE LINE 1 47165 # SOURCE LINE 159 148 166 context.write(u' <td><a onclick="javascript:SetLocation(\'') 149 167 context.write(unicode(c.sourcedict['urlpath'])) … … 154 172 context.write(unicode(clipinfo['img_src'])) 155 173 context.write(u'"></a></td>\n') 156 # SOURCE LINE 1 49174 # SOURCE LINE 161 157 175 if c.sourcedict['has_video'] == "No": 158 # SOURCE LINE 1 50176 # SOURCE LINE 162 159 177 context.write(u' <td><a onclick="javascript:SetLocation(\'') 160 178 context.write(unicode(c.sourcedict['urlpath'])) … … 162 180 context.write(unicode(clipinfo['id'])) 163 181 context.write(u'\')"><img src="/images/blank.png"></a></td>\n') 164 # SOURCE LINE 1 52182 # SOURCE LINE 164 165 183 context.write(u' <td>') 166 184 context.write(unicode(clipinfo['start_time'])) 167 185 context.write(u'</td>\n <td>') 168 # SOURCE LINE 1 53186 # SOURCE LINE 165 169 187 context.write(unicode(clipinfo['desc'])) 170 188 context.write(u'</td>\n <td>') 171 # SOURCE LINE 1 54189 # SOURCE LINE 166 172 190 context.write(unicode(clipinfo['a_href'])) 173 191 context.write(u'</td>\n\n\n') 174 # SOURCE LINE 1 57192 # SOURCE LINE 169 175 193 context.write(unicode( h.form(h.url(action='deleteclip'), multipart=True) )) 176 194 context.write(u'\n<td>') 177 # SOURCE LINE 1 58195 # SOURCE LINE 170 178 196 context.write(unicode( h.submit('Delete') )) 179 197 context.write(u' </td>\n') 180 # SOURCE LINE 1 59198 # SOURCE LINE 171 181 199 context.write(unicode( h.hidden_field('clipid', value=clipinfo['ixc']) )) 182 200 context.write(u'\n') 183 # SOURCE LINE 1 60201 # SOURCE LINE 172 184 202 context.write(unicode( h.hidden_field('itemid', value=c.itemid) )) 185 203 context.write(u'\n') 186 # SOURCE LINE 1 61204 # SOURCE LINE 173 187 205 context.write(unicode( h.end_form() )) 188 206 context.write(u' \n\n\n</tr> \n') 189 # SOURCE LINE 1 66190 context.write(u'</table>\n\nAdd new clip:\n ')191 # SOURCE LINE 1 69207 # SOURCE LINE 178 208 context.write(u'</table>\n\nAdd new clip:\n<!--') 209 # SOURCE LINE 181 192 210 context.write(unicode( h.form(h.url(action='addclip'), multipart=True) )) 193 context.write(u' \n<table style="font-size:small">\n<tr>\n <td>Start time</td>\n <td>')194 # SOURCE LINE 1 73211 context.write(u'-->\n<form name="addaclip" action="addclip" >\n<table style="font-size:small">\n<tr>\n <td>Start</td>\n <td>') 212 # SOURCE LINE 186 195 213 context.write(unicode( h.text_field('starttime', size=5) )) 196 context.write(u'</td>\n <td>a_text</td>\n <td>') 197 # SOURCE LINE 175 214 context.write(u'</td>\n</tr>\n<tr>\n<td>Desc</td>\n <td>\n <input type="text" name="desc" size="20" onfocus="disableShortcuts()" onblur="enableShortcuts()" id="desc" />\n <!--') 215 # SOURCE LINE 192 216 context.write(unicode( h.text_field('desc') )) 217 context.write(u'--></td>\n</tr>\n<tr>\n <td>a_text</td>\n <td>') 218 # SOURCE LINE 196 198 219 context.write(unicode( h.text_field('a_text') )) 199 context.write(u'</td>\n</tr>\n<tr>\n <td>Id</td>\n <td>') 200 # SOURCE LINE 179 201 context.write(unicode( h.text_field('id', size=5) )) 202 context.write(u'</td>\n <td>a_href</td>\n <td>') 203 # SOURCE LINE 181 220 context.write(u'</td>\n</tr>\n<tr>\n <td>a_href</td>\n <td>') 221 # SOURCE LINE 200 204 222 context.write(unicode( h.text_field('a_href') )) 205 context.write(u'</td>\n</tr>\n<tr>\n <td>img_src</td>\n <td>')206 # SOURCE LINE 185207 context.write(unicode( h.text_field('img_src', size=5) ))208 context.write(u'</td>\n <td>desc</td>\n <td>')209 # SOURCE LINE 187210 context.write(unicode( h.text_field('desc') ))211 223 context.write(u'</td>\n</tr>\n</table>\n') 212 # SOURCE LINE 190224 # SOURCE LINE 203 213 225 context.write(unicode( h.hidden_field('headindex', value = c.headdict['ixh']) )) 214 226 context.write(u'\n') 215 # SOURCE LINE 191216 context.write(unicode( h.hidden_field('itemid', value=c.itemid) )) 217 context.write(u'\n') 218 # SOURCE LINE 192227 # SOURCE LINE 204 228 context.write(unicode( h.hidden_field('itemid', value=c.itemid) )) 229 context.write(u'\n') 230 # SOURCE LINE 205 219 231 context.write(unicode( h.hidden_field('hasvideo', value=c.sourcedict['has_video']) )) 220 context.write(u'\n \n')221 # SOURCE LINE 194232 context.write(u'\n') 233 # SOURCE LINE 206 222 234 context.write(unicode( h.submit('Add') )) 223 235 context.write(u' \n') 224 # SOURCE LINE 195225 context.write(unicode( h.end_form() )) 226 context.write(u' \n </div>\n<script>\nvar plugin = document.embeds[0];\nvar input = document.api.ifield;\nvar goto = document.api.gotofield;\nvar output = document.api.ofield;\n\nfunction Play() {\n plugin.play();\n addOutput("Play!");\n}\n\nfunction Pause() {\n plugin.pause();\n addOutput("Pause!");\n}\n\nfunction SetLocation(location) {\n// plugin.setPlayPosition(location);\n plugin.setCurrentMovie(location);\n addOutput("Current movie: " + plugin.getCurrentMovie());\n addOutput("setting a location: " + location + " ms");\n}\n\nfunction GetPlayPosition() {\n addOutput("Play position: " + plugin.getPlayPosition() + " ms");\n}\n\nfunction skip(dir) {\n// addOutput("we get here")\n i = getInput();\n addOutput("i is " + i);\n if (i <= 0) i = 1000;\n addOutput("dir is " + dir);\n t = plugin.getPlayPosition() + (i * dir);\n addOutput("t is " + t);\n addOutput("Skipping by " + i + " to " + t + " ms - " +\n (plugin.setPlayPosition(t) ? "succeeded" : "failed"));\n}\n\nfunction getInput() {\n i = parseInt(input.value);\n return isNaN(i) ? 0 : i;\n}\n\nfunction getGoto() {\n i = parseInt(goto.value);\n return isNaN(i) ? 0 : i;\n}\n\n\nfunction GotoPosition() {\n i = getGoto();\n i = i * 1000;\n plugin.setPlayPosition(i);\n}\n\nvar outLines = 0;\n\nfunction addOutput(str) {\n if (outLines == 0) {\n output.value = str;\n } else {\n output.value = str + "\\n" + output.value;\n }\n outLines++;\n if (outLines == 11) {\n i = output.value.lastIndexOf("\\n");\n output.value = output.value.substr(0, i);\n outLines--;\n }\n}\n</script>\n\n')236 # SOURCE LINE 207 237 context.write(unicode( h.end_form() )) 238 context.write(u' \n\n<script>\nvar plugin = document.embeds[0];\nvar input = document.api.ifield;\nvar clipstart = document.addaclip.starttime;\nvar goto = document.api.gotofield;\nvar output = document.api.ofield;\nvar focusid = "enable";\nvar shortcuts = document.api.shortcuts;\n\nfunction Play() {\n plugin.play();\n addOutput("Play");\n}\n\nfunction Pause() {\n plugin.pause();\n addOutput("Pause");\n}\n\nfunction SetLocation(location) {\n// plugin.setPlayPosition(location);\n plugin.setCurrentMovie(location);\n addOutput("Current movie: " + plugin.getCurrentMovie());\n addOutput("setting a location: " + location + " ms");\n}\n\nfunction GetPlayPosition() {\n addOutput("Play position: " + plugin.getPlayPosition() + " ms");\n}\n\nfunction PauseOrPlay(){\n\taddOutput("current state: " + plugin.getCurrentState());\n\tif (plugin.getCurrentState()==0) {Play();}\n\telse {\n\tif (plugin.getCurrentState()==1) Pause();}\n}\n\nfunction skip(dir) {\n// addOutput("we get here")\n i = getInput();\n addOutput("i is " + i);\n if (i <= 0) i = 1000;\n addOutput("dir is " + dir);\n t = plugin.getPlayPosition() + (i * dir);\n addOutput("t is " + t);\n addOutput("Skipping by " + i + " to " + t + " ms - " +\n (plugin.setPlayPosition(t) ? "succeeded" : "failed"));\n}\n\nfunction getInput() {\n i = parseInt(input.value);\n return isNaN(i) ? 0 : i;\n}\n\nfunction getGoto() {\n i = parseInt(goto.value);\n return isNaN(i) ? 0 : i;\n}\n\n\nfunction GotoPosition() {\n i = getGoto();\n i = i * 1000;\n plugin.setPlayPosition(i);\n}\n\nvar outLines = 0;\n\nfunction addOutput(str) {\n if (outLines == 0) {\n output.value = str;\n } else {\n output.value = str + "\\n" + output.value;\n }\n outLines++;\n if (outLines == 11) {\n i = output.value.lastIndexOf("\\n");\n output.value = output.value.substr(0, i);\n outLines--;\n }\n\n}\n\nfunction addClipStarttime() {\n clipstart.value = plugin.getPlayPosition()/1000;\n}\n\nfunction keyPressed(e) {\n if (focusid=="disable") {return;}\n else {\n switch (String.fromCharCode(e.which)) {\n \tcase "t": GetPlayPosition(); break;\n \tcase "s": addClipStarttime(); break;\n \tcase "p": PauseOrPlay(); break;\n }\n focusid="enable";\n }\n}\nfunction disableShortcuts() {\n focusid="disable";\n addOutput("Shortcuts: " + focusid);\n }\n\nfunction enableShortcuts() {\n focusid="enable";\n addOutput("Shortcuts: " + focusid);\n }\n\nfunction toggleShortcuts() {\n if (focusid=="enable") {focusid="disable";}\n else {\n if (focusid=="disable") {focusid="enable";}\n }\n\n}\n\n</script>\n\n\n') 227 239 return '' 228 240 finally: