From 2a9abc8a5451a567668ef0916c3e490ec3e0e130 Mon Sep 17 00:00:00 2001 From: TheOrangeOne Date: Tue, 6 Sep 2016 20:53:03 +0100 Subject: [PATCH] add file icons --- build | 6 ++++++ package.json | 2 +- project/files/models.py | 8 ++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/build b/build index 39e7472..4af71ca 100755 --- a/build +++ b/build @@ -26,4 +26,10 @@ env/bin/pip install -r requirements.txt npm install npm run build +echo "Getting icons..." +git clone git@github.com:teambox/Free-file-icons static/build/img/temp || echo "already exists" +cp static/build/img/temp/512px/* static/build/img/icons/ +rm -rf static/build/img/temp + + env/bin/python manage.py collectstatic --noinput diff --git a/package.json b/package.json index 6a6f4a6..fddd903 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "test": "npm run lint", "lint": "eslint 'static/src/js/'", - "create-build-dirs": "mkdir -p static/build/js static/build/css static/build/fonts static/build/img", + "create-build-dirs": "mkdir -p static/build/js static/build/css static/build/fonts static/build/img/icons", "build-scss": "bash scripts/build-scss.sh", "build-js": "bash scripts/build-js.sh", "build-fonts": "cp -R node_modules/bootstrap-sass/assets/fonts/bootstrap/* static/build/fonts/ && cp -R node_modules/font-awesome/fonts static/build", diff --git a/project/files/models.py b/project/files/models.py index c8e03d0..c869def 100644 --- a/project/files/models.py +++ b/project/files/models.py @@ -4,6 +4,8 @@ from admin_resumable.fields import ModelAdminResumableFileField from shortuuidfield import ShortUUIDField from datetime import timedelta from django.core.urlresolvers import reverse +import os.path +from django.conf import settings class SharedFile(models.Model): @@ -23,6 +25,12 @@ class SharedFile(models.Model): def get_absolute_url(self): return reverse('files:file', args=(self.short_id,)) + def get_type_image(self): + extension = self.get_original_filename().split('.')[-1] + icon_file = os.path.join(settings.STATICFILES_DIRS[0], 'img', 'icons', "{0}.png".format(extension)) + filename = extension if os.path.exists(icon_file) else "_page" + return os.path.join(settings.STATIC_URL, 'img', 'icons', "{0}.png".format(filename)) + class FileToken(models.Model): valid_time = timedelta(minutes=5)