##// END OF EJS Templates
Added support for different attachment types
Added support for different attachment types

File last commit:

r1273:2c3f55c9 default
r1273:2c3f55c9 default
Show More
viewers.py
39 lines | 1.1 KiB | text/x-python | PythonLexer
from django.template.defaultfilters import filesizeformat
class AbstractViewer:
def __init__(self, file, file_type):
self.file = file
self.file_type = file_type
@staticmethod
def get_viewer(file_type, file):
for viewer in VIEWERS:
if viewer.supports(file_type):
return viewer(file)
return AbstractViewer(file)
@staticmethod
def supports(file_type):
return true
def get_view(self):
return '<div class="image"><a href="{}">'\
'<img src="/static/images/file.png" width="200" height="150"/>'\
'</a>'\
'<div class="image-metadata">{}, {}</div>'\
'</div>'.format(self.file.url, self.file_type,
filesizeformat(self.file.size))
class WebmViewer(AbstractViewer):
@staticmethod
def supports(file_type):
return file_type == 'webm'
def get_view(self):
return '<div class="image">'\
'<video width="200" height="150" controls/>'\
'<source src="{}">'\
'</div>'.format(self.file.url)