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