2018-08-07 16:09:41 +02:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
2023-11-23 22:59:09 +01:00
|
|
|
import logging
|
2018-08-07 16:09:41 +02:00
|
|
|
import os
|
|
|
|
import shutil
|
2023-11-23 22:59:09 +01:00
|
|
|
import sys
|
|
|
|
|
2018-08-07 16:09:41 +02:00
|
|
|
import coloredlogs
|
|
|
|
|
2021-06-13 11:49:21 +02:00
|
|
|
coloredlogs.install(level="DEBUG", fmt="%(levelname)s %(message)s")
|
2018-08-07 16:09:41 +02:00
|
|
|
log = logging.getLogger()
|
|
|
|
|
|
|
|
MUSICS_FOLDER = os.path.join(os.path.expanduser("~"), "Musique")
|
|
|
|
BOF_FOLDER = os.path.join(os.path.expanduser("~"), ".MusiqueBof")
|
|
|
|
|
|
|
|
for f in sys.argv[1:]:
|
|
|
|
src = os.path.realpath(f)
|
|
|
|
if not os.path.isfile(src):
|
|
|
|
log.error("{} does not exists".format(src))
|
|
|
|
continue
|
|
|
|
|
|
|
|
srcBase = None
|
|
|
|
if src.startswith(MUSICS_FOLDER):
|
|
|
|
srcBase = MUSICS_FOLDER
|
|
|
|
dstBase = BOF_FOLDER
|
|
|
|
elif src.startswith(BOF_FOLDER):
|
|
|
|
srcBase = BOF_FOLDER
|
|
|
|
dstBase = MUSIC_FOLDER
|
|
|
|
else:
|
|
|
|
log.error("{} not in any music folder".format(src))
|
|
|
|
continue
|
|
|
|
|
|
|
|
common = os.path.relpath(src, srcBase)
|
|
|
|
dst = os.path.join(dstBase, common)
|
|
|
|
dstFolder = os.path.dirname(dst)
|
|
|
|
|
|
|
|
log.info("{} → {}".format(src, dst))
|
|
|
|
os.makedirs(dstFolder, exist_ok=True)
|
|
|
|
shutil.move(src, dst)
|