forked from arkanister/django-flickr-gallery
/
forms.py
30 lines (24 loc) · 1.08 KB
/
forms.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from django import forms
from django_flickr_gallery.models import FlickrAlbum
from django_flickr_gallery.utils import get_photosets
from flickrapi.exceptions import FlickrError
class FlickrCreateAlbumForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(FlickrCreateAlbumForm, self).__init__(*args, **kwargs)
choices = (("", "----------"),)
try:
existing_album = [album.flickr_album_id for album in FlickrAlbum.objects.all()]
photosets = [(photoset['id'], photoset['title']) for photoset in get_photosets()]
photosets = filter(lambda x: x[0] not in existing_album, photosets)
choices += tuple(photosets)
except FlickrError as e:
print(e.message)
# set choices with flickr albums
self.fields['flickr_album_id'].widget = forms.Select(choices=choices)
class Meta:
model = FlickrAlbum
fields = ['flickr_album_id', 'sites']
class FlickrUpdateAlbumForm(forms.ModelForm):
class Meta:
model = FlickrAlbum
exclude = ['flickr_album_id', 'last_sync']