def save(self): data = self.cleaned_data name = data['name'] handler = ImageHandlerAlbumCoverTemp() handler.load_by_url(data['thumb']) new_handler = handler.store() new_handler.save_thumbnails() artist = self.artist new = True try: album = Album.objects.get(name=name, artist=artist) new = False except Album.DoesNotExist: album = Album.objects.create( name=name, year=data['year'], artist=artist ) self.is_new = new styles = [] for style in simplejson.loads(data['style']): styles.append(AlbumStyle.objects.get_or_create(name=style)[0]) genres = [] for genre in simplejson.loads(data['genre']): genres.append(AlbumGenre.objects.get_or_create(name=genre)[0]) album.set_metadata_object(self.metadata) album.artist = artist album.style = styles album.genre = genres album.year = data['year'] album.thumb = handler.storage.filename album.save() return album
def get_or_create_temporary(url): handler = ImageHandlerAlbumCoverTemp() handler.load_by_url(url) handler.save() return handler.single_url()