Exemple #1
0
   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)