X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/cc9a57b827d7303c37f3b2d271e7c2f661d30e45..480da6ff4ed8c04b205710c318b2fcfcb961bbc7:/apps/catalogue/utils.py?ds=sidebyside diff --git a/apps/catalogue/utils.py b/apps/catalogue/utils.py index 9de4eaa2d..bda7e0475 100644 --- a/apps/catalogue/utils.py +++ b/apps/catalogue/utils.py @@ -44,6 +44,25 @@ def split_tags(tags): return result +def get_dynamic_path(media, filename, ext=None, maxlen=100): + from slughifi import slughifi + + # how to put related book's slug here? + if not ext: + # BookMedia case + ext = media.formats[media.type].ext + if media is None or not media.name: + name = slughifi(filename.split(".")[0]) + else: + name = slughifi(media.name) + return 'book/%s/%s.%s' % (ext, name[:maxlen-len('book/%s/.%s' % (ext, ext))-4], ext) + + +# TODO: why is this hard-coded ? +def book_upload_path(ext=None, maxlen=100): + return lambda *args: get_dynamic_path(*args, ext=ext, maxlen=maxlen) + + class ExistingFile(UploadedFile): def __init__(self, path, *args, **kwargs): @@ -74,7 +93,7 @@ class LockFile(object): try: unlink(self.lockname) except OSError as oe: - if oe.errno != oe.EEXIST: + if oe.errno != EEXIST: raise oe self.lock.close()