Move to saner defaults:

- fix idiot path concat problem i had before
- use @mrled style main and parsed.
master
jowj 4 years ago
parent 835c4c872d
commit 361194c4be

@ -1,40 +1,55 @@
import os import os
import sys
import argparse import argparse
import subprocess import subprocess
import shutil import logging
from pathlib import Path
if __name__ == '__main__': logger = logging.getLogger(__name__)
MUSIC_DEST =
VIDEO_DEST =
def main(*args, **kwargs):
"""Main program entrypoint
"""
parser = argparse.ArgumentParser()
parser.add_argument('--type', '-t', help="music or video?", type=str)
parser.add_argument('--url', '-u', help="link?", type=str)
parser.add_argument("--debug", "-d", action="store_true")
parser.add_argument("--logfile", "-l", type=str) # should this be File?
parsed = parser.parse_args()
loglevel = logging.INFO
PARSER = argparse.ArgumentParser() if parsed.debug:
PARSER.add_argument('-t', '--type', help="aud or vid?", type=str) loglevel = logging.DEBUG
PARSER.add_argument('-u', '--url', help="link?", type=str) logger.setLevel(loglevel)
ARGS = PARSER.parse_args() if parsed.logfile:
fh = logging.FileHandler(parsed.logfile)
fh.setLevel(loglevel)
fh.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
logger.addHandler(fh)
logger.debug("Configured logging, nice")
TEMP_PATH = os.getcwd() + '/temp' temp_path = os.getcwd() + '/temp'
os.mkdir(TEMP_PATH) if os.path.exists(temp_path):
os.chdir(TEMP_PATH) os.chdir(temp_path)
else:
os.mkdir(temp_path)
os.chdir(temp_path)
if ARGS.type == 'music': if parsed.type == 'music':
# this will download a video an convert to just mp3 # this will download a video an convert to just mp3
URL = ARGS.url url = parsed.url
DEST_ROOT = MUSIC_DEST
subprocess.call(["youtube-dl", "-i", "--extract-audio", subprocess.call(["youtube-dl", "-i", "--extract-audio",
"--audio-format", "mp3", "--yes-playlist", "--audio-format", "mp3", "--yes-playlist",
"-o", "%(playlist_title)s/%(title)s.%(ext)s", "-o", "%(playlist_title)s/%(title)s.%(ext)s",
URL]) url])
if ARGS.type == 'video': if parsed.type == 'video':
# this actually downloads the videos in a playlist to seperate files. # this actually downloads the videos in a playlist to seperate files.
URL = ARGS.url url = parsed.url
DEST_ROOT = VIDEO_DEST
subprocess.call(["youtube-dl", "-i", "-f" subprocess.call(["youtube-dl", "-i", "-f"
"mp4", "-o", "%(playlist_title)s/%(title)s.%(ext)s", "mp4", "-o", "%(playlist_title)s/%(title)s.%(ext)s",
URL]) url])
PLAYLIST = os.listdir(".")
DEST = DEST_ROOT + "/" + PLAYLIST[0] if __name__ == '__main__':
shutil.move(PLAYLIST[0], DEST) sys.exit(main(*sys.argv))
os.rmdir(TEMP_PATH)

Loading…
Cancel
Save