fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Audiobook fixes.
[wolnelektury.git]
/
src
/
catalogue
/
utils.py
diff --git
a/src/catalogue/utils.py
b/src/catalogue/utils.py
index
d17ead0
..
9461243
100644
(file)
--- a/
src/catalogue/utils.py
+++ b/
src/catalogue/utils.py
@@
-11,8
+11,10
@@
from collections import defaultdict
from errno import EEXIST, ENOENT
from fcntl import flock, LOCK_EX
from os import mkdir, path, unlink
from errno import EEXIST, ENOENT
from fcntl import flock, LOCK_EX
from os import mkdir, path, unlink
+from urllib.parse import urljoin
from zipfile import ZipFile
from zipfile import ZipFile
+from django.apps import apps
from django.conf import settings
from django.core.files.storage import DefaultStorage
from django.core.files.uploadedfile import UploadedFile
from django.conf import settings
from django.core.files.storage import DefaultStorage
from django.core.files.uploadedfile import UploadedFile
@@
-95,7
+97,7
@@
class LockFile(object):
# @task
# @task
-def create_zip(paths, zip_slug):
+def create_zip(paths, zip_slug
, file_contents=None
):
"""
Creates a zip in MEDIA_ROOT/zip directory containing files from path.
Resulting archive filename is ${zip_slug}.zip
"""
Creates a zip in MEDIA_ROOT/zip directory containing files from path.
Resulting archive filename is ${zip_slug}.zip
@@
-119,6
+121,9
@@
def create_zip(paths, zip_slug):
if arcname is None:
arcname = path.basename(p)
zipf.write(p, arcname)
if arcname is None:
arcname = path.basename(p)
zipf.write(p, arcname)
+ if file_contents:
+ for arcname, content in file_contents.items():
+ zipf.writestr(arcname, content)
finally:
zipf.close()
finally:
zipf.close()
@@
-303,13
+308,29
@@
def delete_from_cache_by_language(cache, key_template):
def gallery_path(slug):
def gallery_path(slug):
- return os.path.join(settings.MEDIA_ROOT, settings.IMAGE_DIR, slug)
+ return os.path.join(settings.MEDIA_ROOT, settings.IMAGE_DIR, slug)
+ '/'
def gallery_url(slug):
return '%s%s%s/' % (settings.MEDIA_URL, settings.IMAGE_DIR, slug)
def gallery_url(slug):
return '%s%s%s/' % (settings.MEDIA_URL, settings.IMAGE_DIR, slug)
+def absolute_url(url):
+ Site = apps.get_model('sites', 'Site')
+ site = Site.objects.get_current()
+ base_url = '%s://%s' % (
+ 'https' if settings.SESSION_COOKIE_SECURE else 'http',
+ site.domain
+ )
+ return urljoin(base_url, url)
+
+
def get_mp3_length(path):
from mutagen.mp3 import MP3
return int(MP3(path).info.length)
def get_mp3_length(path):
from mutagen.mp3 import MP3
return int(MP3(path).info.length)
+
+
+def set_file_permissions(self, fieldfile):
+ if fieldfile.instance.preview:
+ fieldfile.set_readable(False)
+