num = False if sys.argv[1] == '-n': sys.argv.pop(1) num = True discno = None if sys.argv[1].isdigit(): discno = int(sys.argv.pop(1)) folder = sys.argv[1] foldercompressed = Util.removepunctuation(os.path.split(folder.strip(os.sep))[1].replace(' ', '').lower()) namere = re.compile(r'^(?:%s\d{1,2}-)?%s(?:-notes)?\.(?:wav|txt)$' % (foldercompressed[:3], foldercompressed)) toremove = list() for f in os.listdir(dumpdir): fullname = os.path.join(f, os.path.join(dumpdir, f)) if os.path.isfile(fullname): fname, suffix = f.rsplit('.', 1) if namere.match(f): if suffix == 'txt' and fname.lower() == foldercompressed: flags, metadata, tracklist = ParseTables.readextendedtracklist(fullname) toremove.append(fullname) if len(sys.argv) > 2: url = sys.argv[2] if os.path.exists(url): flags, metadata, tracklist = ParseTables.readextendedtracklist(url) else: tracklist = ParseTables.gettracklistfromurl(url) metadata = tracklist[0] tracklist = tracklist[1:] addmetadata(folder, tracklist, metadata, num, discno) for fn in toremove: os.remove(fn)