diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2011-07-17 16:04:32 +0200 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2011-07-17 16:04:32 +0200 |
commit | c9ba238cad3cbfe12e1c0be9e36e1526b759e055 (patch) | |
tree | 0300a3222eb5bb3151f4d453e294efb44b6c52f2 /db.py | |
parent | 53d795fabe64c670bd97c0c0ad929b5a9b3fcd3f (diff) |
Added an image section with thumbnails of all uploaded image files.
Diffstat (limited to 'db.py')
-rw-r--r-- | db.py | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -4,7 +4,7 @@ from sqlalchemy.orm import sessionmaker, relation, backref from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.exc import IntegrityError from sqlalchemy.sql import and_ -import settings, os +import settings, os, mimetypes engine = create_engine(settings.db_path) @@ -56,5 +56,15 @@ class File(Base): hash = self.hash, filename = self.filename, ext = os.path.splitext(self.filename)[1], size = self.pretty_size(os.path.getsize(self.get_path())), date = self.date.strftime('%Y-%m-%d %H:%M:%S UTC')) + def get_mime_type(self): + return mimetypes.guess_type(self.filename, strict = False)[0] or 'application/octet-stream' + + def is_image(self): + return self.get_mime_type().startswith('image') + + def image_html(self): + return u'<a href="/f/{hash}{ext}" title="{filename}"><img src="/t/{hash}" alt="{filename}" /></a>'.format( + hash = self.hash, filename = self.filename, ext = os.path.splitext(self.filename)[1]) + Base.metadata.create_all() Session = sessionmaker(bind = engine, autoflush = True, autocommit = False) |