Beispiel #1
0
def renameFiles(albumpath, downloaded_track_list, release):
	logger.info('Renaming files')
	try:
		year = release['ReleaseDate'][:4]
	except TypeError:
		year = ''
	# Until tagging works better I'm going to rely on the already provided metadata

	for downloaded_track in downloaded_track_list:
		try:
			f = MediaFile(downloaded_track)
		except:
			logger.info("MediaFile couldn't parse: " + downloaded_track)
			continue
			
		if not f.track:
			tracknumber = ''
		else:
			tracknumber = '%02d' % f.track
		
		if not f.title:
			
			basename = unicode(os.path.basename(downloaded_track), headphones.SYS_ENCODING, errors='replace')
			title = os.path.splitext(basename)[0]
			ext = os.path.splitext(basename)[1]
			
			new_file_name = helpers.cleanTitle(title) + ext
			
		else:
			title = f.title
			
			values = {	'Track':		tracknumber,
						'Title':		title,
						'Artist':		release['ArtistName'],
						'Album':		release['AlbumTitle'],
						'Year':			year,
						'track':		tracknumber,
						'title':		title.lower(),
						'artist':		release['ArtistName'].lower(),
						'album':		release['AlbumTitle'].lower(),
						'year':			year
						}
						
			ext = os.path.splitext(downloaded_track)[1]
			
			new_file_name = helpers.replace_all(headphones.FILE_FORMAT, values).replace('/','_') + ext
		
		
		new_file_name = new_file_name.replace('?','_').replace(':', '_').encode(headphones.SYS_ENCODING)

		new_file = os.path.join(albumpath, new_file_name)

		logger.debug('Renaming %s ---> %s' % (downloaded_track, new_file_name))
		try:
			os.rename(downloaded_track, new_file)
		except Exception, e:
			logger.error('Error renaming file: %s. Error: %s' % (downloaded_track, e))
			continue
Beispiel #2
0
def renameFiles(albumpath, downloaded_track_list, release):
    logger.info('Renaming files')
    try:
        year = release['ReleaseDate'][:4]
    except TypeError:
        year = ''
    # Until tagging works better I'm going to rely on the already provided metadata

    for downloaded_track in downloaded_track_list:
        try:
            f = MediaFile(downloaded_track)
        except:
            logger.info("MediaFile couldn't parse: " + downloaded_track)
            continue

        if not f.track:
            tracknumber = ''
        else:
            tracknumber = '%02d' % f.track

        if not f.title:

            basename = unicode(os.path.basename(downloaded_track),
                               headphones.SYS_ENCODING,
                               errors='replace')
            title = os.path.splitext(basename)[0]
            ext = os.path.splitext(basename)[1]

            new_file_name = helpers.cleanTitle(title) + ext

        else:
            title = f.title

            values = {
                'tracknumber': tracknumber,
                'title': title,
                'artist': release['ArtistName'],
                'album': release['AlbumTitle'],
                'year': year
            }

            ext = os.path.splitext(downloaded_track)[1]

            new_file_name = helpers.replace_all(headphones.FILE_FORMAT,
                                                values).replace('/', '_') + ext

        new_file_name = new_file_name.replace('?', '_').replace(
            ':', '_').encode(headphones.SYS_ENCODING)

        new_file = os.path.join(albumpath, new_file_name)

        logger.debug('Renaming %s ---> %s' % (downloaded_track, new_file_name))
        try:
            os.rename(downloaded_track, new_file)
        except Exception, e:
            logger.error('Error renaming file: %s. Error: %s' %
                         (downloaded_track, e))
            continue
Beispiel #3
0
def renameFiles(albumpath, downloaded_track_list, release):
    logger.info("Renaming files")
    try:
        year = release["ReleaseDate"][:4]
    except TypeError:
        year = ""
        # Until tagging works better I'm going to rely on the already provided metadata

    for downloaded_track in downloaded_track_list:
        try:
            f = MediaFile(downloaded_track)
        except:
            logger.info("MediaFile couldn't parse: " + downloaded_track)
            continue

        if not f.track:
            tracknumber = ""
        else:
            tracknumber = "%02d" % f.track

        if not f.title:

            basename = unicode(os.path.basename(downloaded_track), headphones.SYS_ENCODING, errors="replace")
            title = os.path.splitext(basename)[0]
            ext = os.path.splitext(basename)[1]

            new_file_name = helpers.cleanTitle(title) + ext

        else:
            title = f.title

            values = {
                "tracknumber": tracknumber,
                "title": title,
                "artist": release["ArtistName"],
                "album": release["AlbumTitle"],
                "year": year,
            }

            ext = os.path.splitext(downloaded_track)[1]

            new_file_name = helpers.replace_all(headphones.FILE_FORMAT, values).replace("/", "_") + ext

        new_file_name = new_file_name.replace("?", "_").replace(":", "_").encode(headphones.SYS_ENCODING)

        new_file = os.path.join(albumpath, new_file_name)

        logger.debug("Renaming %s ---> %s" % (downloaded_track, new_file_name))
        try:
            os.rename(downloaded_track, new_file)
        except Exception, e:
            logger.error("Error renaming file: %s. Error: %s" % (downloaded_track, e))
            continue
Beispiel #4
0
def renameFiles(albumpath, downloaded_track_list, release):
    logger.info('Renaming files')
    try:
        year = release['ReleaseDate'][:4]
    except TypeError:
        year = ''
    # Until tagging works better I'm going to rely on the already provided metadata

    for downloaded_track in downloaded_track_list:
        try:
            f = MediaFile(downloaded_track)
        except:
            logger.info("MediaFile couldn't parse: " + downloaded_track.decode(headphones.SYS_ENCODING, 'replace'))
            continue

        if not f.disc:
            discnumber = ''
        else:
            discnumber = '%d' % f.disc

        if not f.track:
            tracknumber = ''
        else:
            tracknumber = '%02d' % f.track
        
        if not f.title:
            
            basename = os.path.basename(downloaded_track.decode(headphones.SYS_ENCODING, 'replace'))
            title = os.path.splitext(basename)[0]
            ext = os.path.splitext(basename)[1]
            
            new_file_name = helpers.cleanTitle(title) + ext
            
        else:
            title = f.title
            
            if release['ArtistName'] == "Various Artists" and f.artist:
                artistname = f.artist
            else:
                artistname = release['ArtistName']
                
            if artistname.startswith('The '):
                sortname = artistname[4:] + ", The"
            else:
                sortname = artistname
            
            values = {  '$Disc':        discnumber,
                        '$Track':       tracknumber,
                        '$Title':       title,
                        '$Artist':      artistname,
                        '$SortArtist':  sortname,
                        '$Album':       release['AlbumTitle'],
                        '$Year':        year,
                        '$disc':        discnumber,
                        '$track':       tracknumber,
                        '$title':       title.lower(),
                        '$artist':      artistname.lower(),
                        '$sortartist':  sortname.lower(),
                        '$album':       release['AlbumTitle'].lower(),
                        '$year':        year
                        }
                        
            ext = os.path.splitext(downloaded_track)[1]
            
            new_file_name = helpers.replace_all(headphones.FILE_FORMAT.strip(), values).replace('/','_') + ext
        
        
        new_file_name = new_file_name.replace('?','_').replace(':', '_').encode(headphones.SYS_ENCODING, 'replace')

        if headphones.FILE_UNDERSCORES:
            new_file_name = new_file_name.replace(' ', '_')

        if new_file_name.startswith('.'):
            new_file_name = new_file_name.replace(0, '_')
        
        new_file = os.path.join(albumpath, new_file_name)
        
        if downloaded_track == new_file_name:
            logger.debug("Renaming for: " + downloaded_track.decode(headphones.SYS_ENCODING, 'replace') + " is not neccessary")
            continue

        logger.debug('Renaming %s ---> %s' % (downloaded_track.decode(headphones.SYS_ENCODING,'replace'), new_file_name.decode(headphones.SYS_ENCODING,'replace')))
        try:
            os.rename(downloaded_track, new_file)
        except Exception, e:
            logger.error('Error renaming file: %s. Error: %s' % (downloaded_track.decode(headphones.SYS_ENCODING, 'replace'), e))
            continue
Beispiel #5
0
def renameFiles(albumpath, downloaded_track_list, release):
    logger.info('Renaming files')
    try:
        year = release['ReleaseDate'][:4]
    except TypeError:
        year = ''
    # Until tagging works better I'm going to rely on the already provided metadata

    for downloaded_track in downloaded_track_list:
        try:
            f = MediaFile(downloaded_track)
        except:
            logger.info(
                "MediaFile couldn't parse: " +
                downloaded_track.decode(headphones.SYS_ENCODING, 'replace'))
            continue

        if not f.disc:
            discnumber = ''
        else:
            discnumber = '%d' % f.disc

        if not f.track:
            tracknumber = ''
        else:
            tracknumber = '%02d' % f.track

        if not f.title:

            basename = os.path.basename(
                downloaded_track.decode(headphones.SYS_ENCODING, 'replace'))
            title = os.path.splitext(basename)[0]
            ext = os.path.splitext(basename)[1]

            new_file_name = helpers.cleanTitle(title) + ext

        else:
            title = f.title

            if release['ArtistName'] == "Various Artists" and f.artist:
                artistname = f.artist
            else:
                artistname = release['ArtistName']

            if artistname.startswith('The '):
                sortname = artistname[4:] + ", The"
            else:
                sortname = artistname

            values = {
                '$Disc': discnumber,
                '$Track': tracknumber,
                '$Title': title,
                '$Artist': artistname,
                '$SortArtist': sortname,
                '$Album': release['AlbumTitle'],
                '$Year': year,
                '$disc': discnumber,
                '$track': tracknumber,
                '$title': title.lower(),
                '$artist': artistname.lower(),
                '$sortartist': sortname.lower(),
                '$album': release['AlbumTitle'].lower(),
                '$year': year
            }

            ext = os.path.splitext(downloaded_track)[1]

            new_file_name = helpers.replace_all(headphones.FILE_FORMAT.strip(),
                                                values).replace('/', '_') + ext

        new_file_name = new_file_name.replace('?', '_').replace(
            ':', '_').encode(headphones.SYS_ENCODING, 'replace')

        if new_file_name.startswith('.'):
            new_file_name = new_file_name.replace(0, '_')

        new_file = os.path.join(albumpath, new_file_name)

        if downloaded_track == new_file_name:
            logger.debug(
                "Renaming for: " +
                downloaded_track.decode(headphones.SYS_ENCODING, 'replace') +
                " is not neccessary")
            continue

        logger.debug(
            'Renaming %s ---> %s' %
            (downloaded_track.decode(headphones.SYS_ENCODING, 'replace'),
             new_file_name.decode(headphones.SYS_ENCODING, 'replace')))
        try:
            os.rename(downloaded_track, new_file)
        except Exception, e:
            logger.error('Error renaming file: %s. Error: %s' %
                         (downloaded_track.decode(headphones.SYS_ENCODING,
                                                  'replace'), e))
            continue
Beispiel #6
0
def renameFiles(albumpath, downloaded_track_list, release):
    logger.info("Renaming files")
    try:
        year = release["ReleaseDate"][:4]
    except TypeError:
        year = ""
    # Until tagging works better I'm going to rely on the already provided metadata

    for downloaded_track in downloaded_track_list:
        try:
            f = MediaFile(downloaded_track)
        except:
            logger.info("MediaFile couldn't parse: " + downloaded_track.decode(headphones.SYS_ENCODING, "replace"))
            continue

        if not f.track:
            tracknumber = ""
        else:
            tracknumber = "%02d" % f.track

        if not f.title:

            basename = os.path.basename(downloaded_track.decode(headphones.SYS_ENCODING, "replace"))
            title = os.path.splitext(basename)[0]
            ext = os.path.splitext(basename)[1]

            new_file_name = helpers.cleanTitle(title) + ext

        else:
            title = f.title

            values = {
                "$Track": tracknumber,
                "$Title": title,
                "$Artist": release["ArtistName"],
                "$Album": release["AlbumTitle"],
                "$Year": year,
                "$track": tracknumber,
                "$title": title.lower(),
                "$artist": release["ArtistName"].lower(),
                "$album": release["AlbumTitle"].lower(),
                "$year": year,
            }

            ext = os.path.splitext(downloaded_track)[1]

            new_file_name = helpers.replace_all(headphones.FILE_FORMAT.strip(), values).replace("/", "_") + ext

        new_file_name = new_file_name.replace("?", "_").replace(":", "_").encode(headphones.SYS_ENCODING, "replace")

        if new_file_name.startswith("."):
            new_file_name = new_file_name.replace(0, "_")

        new_file = os.path.join(albumpath, new_file_name)

        if downloaded_track == new_file_name:
            logger.debug(
                "Renaming for: " + downloaded_track.decode(headphones.SYS_ENCODING, "replace") + " is not neccessary"
            )
            continue

        logger.debug(
            "Renaming %s ---> %s"
            % (
                downloaded_track.decode(headphones.SYS_ENCODING, "replace"),
                new_file_name.decode(headphones.SYS_ENCODING, "replace"),
            )
        )
        try:
            os.rename(downloaded_track, new_file)
        except Exception, e:
            logger.error(
                "Error renaming file: %s. Error: %s" % (downloaded_track.decode(headphones.SYS_ENCODING, "replace"), e)
            )
            continue