<%! from os import sep, path from random import randrange %> <%doc> Dec 10, 2010. This Mako junk is very unreadable. This comment marks the beginning of the deprecation of these defs and the writing of attributes on oldCoreObjects.File that replicate and improve upon their functionality. <%def name="fileView(file)"> % if app_globals.allowedFileTypes[file.MIMEtype]: <% fileType = app_globals.allowedFileTypes[file.MIMEtype] %> % else: <% fileType = file.MIMEtype.split('/')[0] %> % endif ${self.displayFileMetaData(file, fileType)} ${self.displayAssociatedForms(file)} ${self.displayFileButtons(file)} ${self.displayFile(file, fileType)}
<%def name="fileViewShort(file)"> % if app_globals.allowedFileTypes[file.MIMEtype]: <% fileType = app_globals.allowedFileTypes[file.MIMEtype] %> % else: <% fileType = file.MIMEtype.split('/')[0] %> % endif ${self.displayFileMetaData(file, fileType)} ${self.displayFile(file, fileType)}
<%def name="displayFileMetaData(file, fileType)"> % if file.description: % endif % if file.utteranceType: % endif % if file.speaker: % endif % if file.elicitor: % endif % if file.dateElicited: % endif
ID${file.id}
name${file.name}
type${fileType}
size${h.pretty_filesize(file.size)}
description${file.description}
utterance type${file.utteranceType}
enterer${file.enterer.firstName} ${file.enterer.lastName}
speaker${file.speaker.firstName} ${file.speaker.lastName}
elicitor${file.elicitor.firstName} ${file.elicitor.lastName}
date elicited${file.dateElicited.strftime('%b %d, %Y')}
time entered${file.datetimeEntered.strftime('%b %d, %Y at %I:%M %p')}
last updated${file.datetimeModified.strftime('%b %d, %Y at %I:%M %p')}
<%def name="displayFileButtons(file)">
update delete associate
<%def name="displayFile(file, fileType)"> <% fileReference = url('retrieve', path=file.name) %>
% if fileType == 'image': <% self.displayImage(file, fileReference) %> % elif fileType == 'audio': <% self.displayAudio(file, fileReference) %> % elif fileType == 'video': <% self.displayVideo(file, fileReference) %> % else: <% self.displayTextual(file, fileReference) %> % endif
<%def name="displayImage(file, fileReference)"> <% fileName = path.splitext(file.name)[0] %> <% buttonID = fileName + 'Button' %> show image <%doc> mp3 ogg wav au/snd aif/aifc/aiff Firefox (Linux, Mac)N Y Y N N Chrome (Linux) Y Y N N N Safari (Mac) Y N N Y N <%def name="displayAudio(file, fileReference)"> ${self.insertAudioJavaScript()} <% fileName = file.name.replace('.', '_') uniqueNo = str(randrange(0,1000)) uniqueFileName = fileName + uniqueNo %> play audio link to audio
<%def name="displayVideo(file, fileReference)"> video to be displayed... <%def name="displayTextual(file, fileReference)"> <% fileExtension = file.name.split('.')[-1] %> link to text <%def name="displayAssociatedForms(file)"> % for form in file.forms:
<% maxLen = 20 transcription = h.clip(form.grammaticality + form.transcription, maxLen) gloss = h.clip(form.glosses[0].glossGrammaticality + form.glosses[0].gloss, maxLen) %> Associated Form ${form.id}: ${h.storageToOutputTranslate(transcription)} ‘${h.literal(gloss)}’
disassociate view
% endfor <%def name="insertAudioJavaScript()">