+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()
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()
-