<%! from os import sep, path from random import randrange %> <%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()">