Files
weather-bg/scripts/music_import.py
2025-07-28 17:18:07 +09:00

72 lines
1.7 KiB
Python

import sys
import os
from data import ENV
def eprint(*args):
print(*args, file=sys.stderr)
def solve_or_escape(param):
if not param[0] == '$':
return param
if param[1] == '$':
return param[1:]
return ENV[param[1:]]
def l_map(x,y): return list(map(x,y))
def cp_file(command):
dst = os.path.normpath(f"{ENV['dst']}/{command[0]}")
src = os.path.normpath(f"{ENV['src']}/{command[1]}")
eprint(f'Copying ... "{src}" to "{dst}"')
shutil.copy(src, dst)
import shutil
def file_import(commands):
try:
l_map(cp_file, commands)
except FileNotFoundError as e:
eprint('Error:', e)
def main():
if "-h" in sys.argv or "--help" in sys.argv:
eprint(); eprint(' ', sys.argv[0])
eprint(); eprint(' -', ' '.join(ENV['usage']))
eprint(); [eprint(' ', x) for x in ENV['help']]
eprint()
exit(0)
if len(sys.argv) < len(ENV['usage']):
eprint('Usage:', ' '.join(ENV['usage']))
exit(1)
if len(sys.argv) == len(ENV['usage']):
ENV['dst'] = os.path.normpath(sys.argv[-1])
ENV['src'] = os.path.normpath(sys.argv[-2])
ENV['mus_db'] = os.path.normpath(sys.argv[-3])
dst_dir = ENV['dst']
src_dir = ENV['src']
mus_db = ENV['mus_db']
if not os.path.isfile(mus_db):
eprint(f"{mus_db}: Not a file")
if not os.path.isdir(src_dir):
eprint(f"{src_dir}: Not a directory")
if not os.path.isdir(dst_dir):
eprint(f"{dst_dir}: Not a directory")
import csv
config = []
with open(mus_db, newline='') as csvfile:
config = [row for row in csv.reader(csvfile, delimiter=' ')]
file_import(config)
if __name__ == "__main__":
main()