{"nodes": [{"id": "d_yt_channel_scraper_src_yt_scraper_cli_py", "label": "cli.py", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L1"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_setup_logging", "label": "_setup_logging()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L28", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "label": "cli()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L47", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_apply_filters", "label": "_apply_filters()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L72", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_scrape", "label": "scrape()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L99", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "label": "_run_scrape()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L104", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "label": "_print_dry_run()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L176", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "label": "search_cmd()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L195", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "label": "export_cmd()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L219", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "label": "audio_cmd()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L248", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_channels_grp", "label": "channels_grp()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L291", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "label": "channels_list()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L297", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_channels_add", "label": "channels_add()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L312", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "label": "channels_remove()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L325", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_watch_cmd", "label": "watch_cmd()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L345", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "label": "analyze_cmd()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L363", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "label": "re_render_cmd()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L408", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "label": "_channel_targets()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L446", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "label": "_print_stats()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L458", "_callable": true}, {"id": "store", "label": "Store", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "D:\\yt-channel-scraper\\src\\yt_scraper\\cli.py"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_title_for", "label": "_title_for()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L470", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_extract_handle", "label": "_extract_handle()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L475", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_date", "label": "_fmt_date()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L481", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_duration", "label": "_fmt_duration()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L489", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_seconds_to_ts", "label": "seconds_to_ts()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L497", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_safe_dirname", "label": "_safe_dirname()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L504", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_safe_filename", "label": "_safe_filename()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L509", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_parse_tags", "label": "_parse_tags()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L514", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "label": "_parse_interval()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L524", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_main", "label": "main()", "file_type": "code", "source_file": "src/yt_scraper/cli.py", "source_location": "L537", "_callable": true}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_48", "label": "yt-channel-scraper: plataforma local de miner\u00eda de contenido de creadores.", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L48"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_100", "label": "Scrape completo: discovery + extraccion + markdown.", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L100"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_196", "label": "Busqueda full-text en transcripciones.", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L196"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_220", "label": "Export multi-formato.", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L220"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_249", "label": "Descarga audio MP3 (requiere ffmpeg).", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L249"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_346", "label": "Monitoreo de nuevos videos.", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L346"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_364", "label": "Analisis estadistico de contenido (frecuencia, timeline).", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L364"}, {"id": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_409", "label": "Regenerar Markdown desde segmentos almacenados.", "file_type": "rationale", "source_file": "src/yt_scraper/cli.py", "source_location": "L409"}], "edges": [{"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "logging", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L3", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "shutil", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L4", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "sys", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L5", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L6", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "types", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L7", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "click", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L9", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "rich_console", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L10", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "rich_progress", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L11", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "rich_table", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L12", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_config_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L14", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_store_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L15", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_discover_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L16", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_chapters_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L17", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_parse_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L18", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_render_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L19", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_ratelimit_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L20", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_pipeline_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L21", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cookies_py", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L22", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_setup_logging", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L28", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L47", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_apply_filters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L72", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_scrape", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L99", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L104", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L176", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L195", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L219", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L248", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channels_grp", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L291", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L297", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channels_add", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L312", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L325", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_watch_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L345", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L363", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L408", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L446", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L458", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "target": "store", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L458", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_title_for", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L470", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_title_for", "target": "store", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L470", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_extract_handle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L475", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_date", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L481", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_duration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L489", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_seconds_to_ts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L497", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_safe_dirname", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L504", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_safe_filename", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L509", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_parse_tags", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L514", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L524", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_py", "target": "d_yt_channel_scraper_src_yt_scraper_cli_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L537", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "target": "d_yt_channel_scraper_src_yt_scraper_cli_setup_logging", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L49", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "target": "store", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L54", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "target": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L65", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_scrape", "target": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L101", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "target": "d_yt_channel_scraper_src_yt_scraper_cli_extract_handle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L132", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "target": "d_yt_channel_scraper_src_yt_scraper_cli_apply_filters", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L135", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "target": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L144", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "target": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L154", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "target": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_date", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L183", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "target": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_duration", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L183", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L198", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_title_for", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L208", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_seconds_to_ts", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L209", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L223", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L259", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_safe_filename", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L278", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_channels_add", "target": "d_yt_channel_scraper_src_yt_scraper_cli_extract_handle", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L317", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_watch_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L348", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L369", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L417", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_parse_tags", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L434", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "target": "d_yt_channel_scraper_src_yt_scraper_cli_safe_dirname", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L439", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_main", "target": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L538", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_48", "target": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L48", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_100", "target": "d_yt_channel_scraper_src_yt_scraper_cli_scrape", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L100", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_196", "target": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L196", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_220", "target": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L220", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_249", "target": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L249", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_346", "target": "d_yt_channel_scraper_src_yt_scraper_cli_watch_cmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L346", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_364", "target": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L364", "weight": 1.0}, {"source": "d_yt_channel_scraper_src_yt_scraper_cli_rationale_409", "target": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "src/yt_scraper/cli.py", "source_location": "L409", "weight": 1.0}], "raw_calls": [{"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_setup_logging", "callee": "basicConfig", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L30", "receiver": "logging"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "Path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L50", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "load_config", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L51", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "exists", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L51", "receiver": "cfg_path"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "Config", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L51", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "auto_import_dir", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L57", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "debug", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L59", "receiver": "log"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "exc", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/yt_scraper/cli.py", "source_location": "L59"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_cli", "callee": "SimpleNamespace", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L60", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_apply_filters", "callee": "replace", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L75", "receiver": "since"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_apply_filters", "callee": "startswith", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L79", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "exit", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L109", "receiver": "sys"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "strip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L111", "receiver": "l"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "split", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L111", "receiver": "languages"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "strip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L111", "receiver": "l"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "Progress", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L124", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "SpinnerColumn", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L124", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "TextColumn", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L124", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "add_task", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L125", "receiver": "prog"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "discover_channel", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L126", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "update", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L127", "receiver": "prog"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "exit", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L130", "receiver": "sys"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "upsert_channel", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L132", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "upsert_videos", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L137", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "reset_errors", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L140", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "get_pending", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L147", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "get_all", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L147", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "resolve_active_path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L158", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "Path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L160", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "Progress", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L162", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "SpinnerColumn", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L162", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "TextColumn", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L162", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "BarColumn", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L163", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "TaskProgressColumn", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L163", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "TimeRemainingColumn", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L163", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "add_task", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L164", "receiver": "progress"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "update", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L166", "receiver": "progress"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "process_video", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L167", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "advance", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L169", "receiver": "progress"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_run_scrape", "callee": "polite_sleep", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L171", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "callee": "Table", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L177", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L178", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L179", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L180", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L181", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_dry_run", "callee": "add_row", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L183", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "callee": "search_segments", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L199", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "callee": "Table", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L203", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L204", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L205", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L206", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_search_cmd", "callee": "add_row", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L208", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "callee": "Path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L224", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "callee": "mkdir", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L225", "receiver": "out_dir"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "callee": "export_json", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L229", "receiver": "export_mod"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "callee": "export_csv", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L231", "receiver": "export_mod"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "callee": "export_srt", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L233", "receiver": "export_mod"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "callee": "export_html", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L237", "receiver": "export_mod"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_export_cmd", "callee": "upper", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L238", "receiver": "fmt"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "which", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L250", "receiver": "shutil"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "exit", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L252", "receiver": "sys"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "resolve_active_path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L255", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "Path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L256", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "mkdir", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L257", "receiver": "out_dir"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "get_all", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L260", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "replace", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L262", "receiver": "since"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "YoutubeDL", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L276", "receiver": "yt_dlp"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "exists", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L279", "receiver": "target"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_audio_cmd", "callee": "download", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L282", "receiver": "ydl"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "Table", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L299", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L300", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L301", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L302", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L303", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "list_channels", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L304", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "add_row", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L305", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L305", "receiver": "ch"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L305", "receiver": "ch"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_list", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L305", "receiver": "ch"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_add", "callee": "discover_channel", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L316", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_add", "callee": "upsert_channel", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L317", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_add", "callee": "upsert_videos", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L318", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "callee": "list_channels", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L328", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "callee": "lstrip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L329", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L329", "receiver": "ch"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L329", "receiver": "ch"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "callee": "exit", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L334", "receiver": "sys"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channels_remove", "callee": "delete_channel", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L335", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_watch_cmd", "callee": "watch_loop", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L350", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "Path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L367", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "mkdir", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L368", "receiver": "out_dir"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "top_words", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L374", "receiver": "A"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "writer", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L377", "receiver": "csv"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "f", "is_member_call": false, "indirect": true, "context": "argument", "source_file": "src/yt_scraper/cli.py", "source_location": "L377"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "writerow", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L378", "receiver": "w"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "writerows", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L379", "receiver": "w"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "render_top_words_chart", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L382", "receiver": "A"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "render_wordcloud", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L389", "receiver": "A"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "term_timeline", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L392", "receiver": "A"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_analyze_cmd", "callee": "render_timeline_chart", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L397", "receiver": "A"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "Path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L414", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "backfill_from_markdown", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L415", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "get_all", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L418", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "Segment", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L426", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "loads", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L426", "receiver": "json"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "Chapter", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L427", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L427", "receiver": "c"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "loads", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L427", "receiver": "json"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "align_chapters", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L428", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "build_filename_stem", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L437", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "get_channel", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L438", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "Path", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L439", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L439", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_re_render_cmd", "callee": "render_markdown", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L440", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "callee": "list_channels", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L448", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "callee": "list_channels", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L451", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "callee": "lstrip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L452", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L452", "receiver": "ch"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_channel_targets", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L452", "receiver": "ch"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "callee": "stats", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L459", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "callee": "Table", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L460", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L461", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "callee": "add_column", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L462", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "callee": "get", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L465", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_print_stats", "callee": "add_row", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L466", "receiver": "table"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_title_for", "callee": "get_video", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L471", "receiver": "store"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_extract_handle", "callee": "split", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L477", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_extract_handle", "callee": "split", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L477", "receiver": "url"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_duration", "callee": "divmod", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L492", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_fmt_duration", "callee": "divmod", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L493", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_seconds_to_ts", "callee": "divmod", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L499", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_seconds_to_ts", "callee": "divmod", "is_member_call": false, "source_file": "src/yt_scraper/cli.py", "source_location": "L500", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_safe_dirname", "callee": "join", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L505", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_safe_dirname", "callee": "strip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L506", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_safe_dirname", "callee": "strip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L506", "receiver": "safe"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_safe_filename", "callee": "join", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L510", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_safe_filename", "callee": "strip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L511", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_safe_filename", "callee": "strip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L511", "receiver": "safe"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_tags", "callee": "loads", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L519", "receiver": "json"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_tags", "callee": "TypeError", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "src/yt_scraper/cli.py", "source_location": "L520"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "callee": "lower", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L525", "receiver": null}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "callee": "strip", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L525", "receiver": "s"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "callee": "endswith", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L526", "receiver": "s"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "callee": "endswith", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L528", "receiver": "s"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "callee": "endswith", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L530", "receiver": "s"}, {"caller_nid": "d_yt_channel_scraper_src_yt_scraper_cli_parse_interval", "callee": "endswith", "is_member_call": true, "source_file": "src/yt_scraper/cli.py", "source_location": "L532", "receiver": "s"}]}