%!
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>
<%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>
<%def name="displayFileMetaData(file, fileType)">
ID | ${file.id} |
name | ${file.name} |
type | ${fileType} |
size | ${h.pretty_filesize(file.size)} |
% if file.description:
description | ${file.description} |
% endif
% if file.utteranceType:
utterance type | ${file.utteranceType} |
% endif
enterer | ${file.enterer.firstName} ${file.enterer.lastName} |
% if file.speaker:
speaker | ${file.speaker.firstName} ${file.speaker.lastName} |
% endif
% if file.elicitor:
elicitor | ${file.elicitor.firstName} ${file.elicitor.lastName} |
% endif
% if file.dateElicited:
date elicited | ${file.dateElicited.strftime('%b %d, %Y')} |
% endif
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>
<%def name="displayFileButtons(file)">
%def>
<%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>
<%def name="displayImage(file, fileReference)">
<% fileName = path.splitext(file.name)[0] %>
<% buttonID = fileName + 'Button' %>
show image
%def>
<%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
%doc>
<%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>
<%def name="displayVideo(file, fileReference)">
video to be displayed...
%def>
<%def name="displayTextual(file, fileReference)">
<% fileExtension = file.name.split('.')[-1] %>
link to text
%def>
<%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)}’
% endfor
%def>
<%def name="insertAudioJavaScript()">
%def>