예제 #1
0
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
예제 #2
0
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