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 '