Newer
Older
MusicDownloader / src / sort.py
import glob
import os

musics=set()
def retrieve_musics(path):
    files = glob.glob(path + '/**/*.mp3', recursive=True)
    for file in files:
        if file.find("@eaDir") == -1:
            tokens = file.split("/")
            fname = tokens[len(tokens)-1]
            if fname in musics:
                print ("{} in the set already".format(fname))
                os.remove(file)
            else:
                musics.add(fname)
                print ("add {} into set".format(fname))
                os.rename(file, "/nas/music/抖音类歌曲/{}".format(fname))


filename="__INVALID_MUSICS.txt"
def loadInvalidMusicsFromFile(path):
    if not os.path.exists(path):
        open(path, 'a').close()
    return set(line.strip() for line in open(path))

    
def findInvalidMusics(path):
    invalidfilepath = os.path.join(path, filename)
    invalidmusics = loadInvalidMusicsFromFile(invalidfilepath)
    files = glob.glob(path + '/**/*.mp3', recursive=True)
    for file in files:
        if file.find("@eaDir") == -1:
            tokens = file.split("/")
            fname = tokens[len(tokens)-1]
            sz  = os.path.getsize(file)
            if sz == 181521 and fname not in invalidmusics:
                with open(invalidfilepath, 'a') as the_file:
                    the_file.write("{}\n".format(fname))
                invalidmusics.add(fname)
                print("file found: {} is invalid and add it into the list".format(file))
                os.remove(file)
                
findInvalidMusics("/nas/music/kuwo")