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