mirror of
https://github.com/KevinMidboe/spotify-downloader.git
synced 2025-10-29 18:00:15 +00:00
Implemented passing config.yml as command line argument
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from core import internals
|
||||
from core import internals,const
|
||||
|
||||
import logging
|
||||
import yaml
|
||||
@@ -53,6 +53,27 @@ def get_config(config_file):
|
||||
return cfg['spotify-downloader']
|
||||
|
||||
|
||||
def override_config(config_file, parser, raw_args=None, ):
|
||||
""" """
|
||||
config_file = os.path.join(sys.path[0], 'config.yml')
|
||||
config = merge(default_conf['spotify-downloader'], get_config(config_file))
|
||||
|
||||
parser.set_defaults(avconv=config['avconv'])
|
||||
parser.set_defaults(download_only_metadata=config['download-only-metadata'])
|
||||
parser.set_defaults(dry_run=config['dry-run'])
|
||||
parser.set_defaults(file_format=config['file-format'])
|
||||
parser.set_defaults(folder=os.path.relpath(config['folder'], os.getcwd()))
|
||||
parser.set_defaults(input_ext=config['input-ext'])
|
||||
parser.set_defaults(log_level=config['log-level'])
|
||||
parser.set_defaults(manual=config['manual'])
|
||||
parser.set_defaults(music_videos_only=config['music-videos-only'])
|
||||
parser.set_defaults(no_metadata=config['no-metadata'])
|
||||
parser.set_defaults(no_spaces=config['no-spaces'])
|
||||
parser.set_defaults(output_ext=config['output-ext'])
|
||||
parser.set_defaults(overwrite=config['overwrite'])
|
||||
|
||||
return parser.parse_args(raw_args)
|
||||
|
||||
def get_arguments(raw_args=None, to_group=True, to_merge=True):
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Download and convert songs from Spotify, Youtube etc.',
|
||||
@@ -129,8 +150,16 @@ def get_arguments(raw_args=None, to_group=True, to_merge=True):
|
||||
choices=_LOG_LEVELS_STR,
|
||||
type=str.upper,
|
||||
help='set log verbosity')
|
||||
parser.add_argument(
|
||||
'-c', '--config', default=None,
|
||||
help='Replace with custom config file'
|
||||
)
|
||||
|
||||
parsed = parser.parse_args(raw_args)
|
||||
parsed.log_level = log_leveller(parsed.log_level)
|
||||
|
||||
if parsed.config is not None and to_merge:
|
||||
print("Config file passed")
|
||||
parsed = override_config(parsed.config,parser)
|
||||
pass
|
||||
return parsed
|
||||
|
||||
Reference in New Issue
Block a user