import logging import sys import humanize sys.path.insert(1, 'params/hooks_utils/') ### # ydl_opts contains all the informations of the selected preset # download_manager contains all the processed informations about the download # config_manager contains all the parameters of the application # download contains the standart youtube-dlp object for progress hooks ### def handler(ydl_opts, download_manager, config_manager, download): if download.get('status') == 'finished': logging.getLogger('progress_hooks').debug(f'[SUCCESS][preset:{ydl_opts.get("_name")}] - {download_manager.url} -> {download.get("filename")} ({humanize.naturalsize(download.get("total_bytes"), binary=True)})') if download.get('status') == 'error': logging.getLogger('progress_hooks').error(f'[FAILED][preset:{ydl_opts.get("_name")}] - {download_manager.url}')