X-Git-Url: https://git.mdrn.pl/audio.git/blobdiff_plain/dcf7736e1811536ed142bb2de32288faf22f2f0e..339f6babf1e1d7b24e5b22662d04f99af909bd40:/apps/archive/forms.py diff --git a/apps/archive/forms.py b/apps/archive/forms.py index 922bd28..cdc416e 100755 --- 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() @@ -24,10 +28,14 @@ class AudiobookForm(forms.ModelForm): os.makedirs(FILES_PATH) # save the file in model + abs_path = os.path.join(NEW_PATH, path) m.source_file.save( - os.path.join(FILES_PATH, os.path.basename(path)), - ExistingFile(path)) + path, + ExistingFile(abs_path)) + + f = open(m.source_file.path) + m.source_sha1 = sha1_file(f) + f.close() if commit: m.save() -