def createFileTrack(file, bitrate, length, samplerate, isVBR, title=None, album=None, artist=None, albumArtist=None,
                        musicbrainzId=None, genre=None, trackNumber=None, date=None, discNumber=None):
    """ Create a new FileTrack object based on the given information """
    from media.track.fileTrack import FileTrack

    track = FileTrack(file)

    track.setLength(length)
    track.setBitrate(bitrate)
    track.setSampleRate(samplerate)

    if isVBR:
        track.setVariableBitrate()

    if title is not None:
        track.setTitle(title)

    if album is not None:
        track.setAlbum(album)

    if artist is not None:
        track.setArtist(artist)

    if albumArtist is not None:
        track.setAlbumArtist(albumArtist)

    if musicbrainzId is not None:
        track.setMBTrackId(musicbrainzId)

    if genre is not None:
        track.setGenre(genre)

    if date is not None:
        try:    track.setDate(int(date))
        except: pass

    # The format of the track number may be 'X' or 'X/Y'
    # We discard Y since we don't use this information
    if trackNumber is not None:
        try:    track.setNumber(int(trackNumber.split('/')[0]))
        except: pass

    # The format of the disc number may be 'X' or 'X/Y'
    # We discard the disc number when Y is less than 2
    if discNumber is not None:
        try:
            discNumber = discNumber.split('/')

            if len(discNumber) == 1 or int(discNumber[1]) > 1:
                track.setDiscNumber(int(discNumber[0]))
        except:
            pass

    return track
Example #2
0
def createFileTrack(file, bitrate, length, samplerate, isVBR, title=None, album=None, artist=None, albumArtist=None,
                        musicbrainzId=None, genre=None, trackNumber=None, date=None, discNumber=None):
    """ Create a new FileTrack object based on the given information """
    from media.track.fileTrack import FileTrack

    track = FileTrack(file)

    track.setLength(length)
    track.setBitrate(bitrate)
    track.setSampleRate(samplerate)

    if isVBR:
        track.setVariableBitrate()

    if title is not None:
        track.setTitle(title)

    if album is not None:
        track.setAlbum(album)

    if artist is not None:
        track.setArtist(artist)

    if albumArtist is not None:
        track.setAlbumArtist(albumArtist)

    if musicbrainzId is not None:
        track.setMBTrackId(musicbrainzId)

    if genre is not None:
        track.setGenre(genre)

    if date is not None:
        try:    track.setDate(int(date))
        except: pass

    # The format of the track number may be 'X' or 'X/Y'
    # We discard Y since we don't use this information
    if trackNumber is not None:
        try:    track.setNumber(int(trackNumber.split('/')[0]))
        except: pass

    # The format of the disc number may be 'X' or 'X/Y'
    # We discard the disc number when Y is less than 2
    if discNumber is not None:
        try:
            discNumber = discNumber.split('/')

            if len(discNumber) == 1 or int(discNumber[1]) > 1:
                track.setDiscNumber(int(discNumber[0]))
        except:
            pass

    return track