5326261612ff0a661f59f243b7728be6acfc9dbb
[audio.git] / apps / archive / forms.py
1 import os
2 import os.path
3 from datetime import datetime
4
5 from django import forms
6 from django.utils.translation import ugettext_lazy as _
7 import mutagen
8
9 from archive.models import Audiobook
10 from archive.settings import FILES_PATH
11 from archive.utils import ExistingFile
12
13 class AudiobookForm(forms.ModelForm):
14     class Meta:
15         model = Audiobook
16
17     def save(self, commit=True, path=None):
18         m = super(AudiobookForm, self).save(commit=False)
19         m.modified = datetime.now()
20
21         if path:
22             # adding a new audiobook
23             if not os.path.isdir(FILES_PATH):
24                 os.makedirs(FILES_PATH)
25             # save the file in model
26             bn = os.path.basename(path)
27             ef = ExistingFile(path)
28             
29             m.source_file.save(bn, ef)
30
31         if commit:
32             m.save()
33