X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/ed988f2b33845617a5f2de3c5530a97b9d24aea4..c175a7540d20336179dfd453183bfe69e6f5827e:/apps/archive/forms.py diff --git a/apps/archive/forms.py b/apps/archive/forms.py old mode 100755 new mode 100644 index 5326261..cdc416e --- a/apps/archive/forms.py +++ b/apps/archive/forms.py @@ -1,20 +1,24 @@ +from datetime import datetime import os import os.path -from datetime import datetime from django import forms from django.utils.translation import ugettext_lazy as _ import mutagen from archive.models import Audiobook -from archive.settings import FILES_PATH -from archive.utils import ExistingFile +from archive.settings import FILES_PATH, NEW_PATH +from archive.utils import ExistingFile, sha1_file class AudiobookForm(forms.ModelForm): class Meta: model = Audiobook def save(self, commit=True, path=None): + """ Performs normal save, with given file as an source audiobook. + + `path' is relative to NEW_PATH. + """ m = super(AudiobookForm, self).save(commit=False) m.modified = datetime.now() @@ -23,11 +27,15 @@ class AudiobookForm(forms.ModelForm): if not os.path.isdir(FILES_PATH): os.makedirs(FILES_PATH) # save the file in model - bn = os.path.basename(path) - ef = ExistingFile(path) - - m.source_file.save(bn, ef) + + abs_path = os.path.join(NEW_PATH, path) + m.source_file.save( + path, + ExistingFile(abs_path)) + + f = open(m.source_file.path) + m.source_sha1 = sha1_file(f) + f.close() if commit: m.save() -