##// END OF EJS Templates
Don't show an asterist in the page title after updating posts when number of...
Don't show an asterist in the page title after updating posts when number of new posts is >1

File last commit:

r1441:f2404e3c merge decentral
r1467:02e3df39 default
Show More
__init__.py
42 lines | 1.3 KiB | text/x-python | PythonLexer
from django.db import models
from boards import utils
from boards.models.attachment.viewers import get_viewers, AbstractViewer
from boards.utils import get_upload_filename, get_file_mimetype, get_extension
class AttachmentManager(models.Manager):
def create_with_hash(self, file):
file_hash = utils.get_file_hash(file)
existing = self.filter(hash=file_hash)
if len(existing) > 0:
attachment = existing[0]
else:
# FIXME Use full mimetype here, need to modify viewers too
file_type = get_extension(file.name)
attachment = self.create(file=file, mimetype=file_type,
hash=file_hash)
return attachment
class Attachment(models.Model):
objects = AttachmentManager()
file = models.FileField(upload_to=get_upload_filename)
mimetype = models.CharField(max_length=50)
hash = models.CharField(max_length=36)
def get_view(self):
file_viewer = None
for viewer in get_viewers():
if viewer.supports(self.mimetype):
file_viewer = viewer
break
if file_viewer is None:
file_viewer = AbstractViewer
return file_viewer(self.file, self.mimetype).get_view()
def __str__(self):
return self.file.url