def add_record(release): from models import Record, Artist, Track release_discogs_id = release.id try: # Check if we already have this album existing = Record.objects.get(discogs_id=release_discogs_id) return existing except Record.DoesNotExist: # Process record record_title = release.title if (len(record_title.split('- '))>1): record_title = record_title.split('- ')[1] record = Record(discogs_id = release_discogs_id, title = record_title, year = release.year, thumb = release.thumb, notes = release.notes) record.save() # Process artists for release_artist in release.artists: artist = Artist(discogs_id=release_artist.id, name=release_artist.name) artist.save() record.artists.add(artist) # Process tracklist for release_track in release.tracklist: track = Track() track.position = release_track.position track.title = release_track.title track.duration = release_track.duration track.save() record.tracklist.add(track) record.save() return record
def save_audio_post(request): """ Saves a Track """ form = TrackForm(request.POST, request.FILES) if form.is_valid(): the_track_file = request.FILES["file"] meta = metadata_for_filelike(the_track_file) newdoc = Track(docfile = request.FILES["file"]) try: newdoc.title = meta['title'] except: newdoc.title = request.FILES['file'].name try: newdoc.album = meta['album'] except: newdoc.album = 'unspecified' try: newdoc.author = meta['author'] except: newdoc.author = 'unspecified' try: newdoc.duration = meta['duration'] except: newdoc.duration = 'unspecified' try: newdoc.music_genre = meta['music_genre'] except: newdoc.music_genre = 'unspecified' newdoc.meta_data = meta if meta['mime_type'] == 'audio/mpeg': newdoc.body = "Audio track: "+newdoc.title+" was uploaded." if request.POST["body"] != "": newdoc.body = newdoc.body+ request.POST["body"] newdoc.save() else: print form.errors