Skip to content

Latest commit

 

History

History
86 lines (50 loc) · 5.35 KB

File metadata and controls

86 lines (50 loc) · 5.35 KB
graph LR
    CLI_Orchestrator["CLI Orchestrator"]
    URL_Extractor_Core["URL Extractor Core"]
    Site_Specific_Extractors["Site-Specific Extractors"]
    Media_Information_Model["Media Information Model"]
    Download_Manager["Download Manager"]
    HTTP_Client["HTTP Client"]
    CLI_Orchestrator -- "Initiates Extraction" --> URL_Extractor_Core
    URL_Extractor_Core -- "Dispatches URL" --> Site_Specific_Extractors
    Site_Specific_Extractors -- "Fetches Web Content" --> HTTP_Client
    Site_Specific_Extractors -- "Populates Media Info" --> Media_Information_Model
    Media_Information_Model -- "Provides Media Info" --> CLI_Orchestrator
    CLI_Orchestrator -- "Triggers Download" --> Download_Manager
    Download_Manager -- "Requests Media Data" --> HTTP_Client
    click CLI_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ykdl/CLI_Orchestrator.md" "Details"
    click URL_Extractor_Core href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ykdl/URL_Extractor_Core.md" "Details"
    click Site_Specific_Extractors href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ykdl/Site_Specific_Extractors.md" "Details"
    click Media_Information_Model href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ykdl/Media_Information_Model.md" "Details"
    click Download_Manager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/ykdl/Download_Manager.md" "Details"
Loading

CodeBoardingDemoContact

Details

The ykdl project operates as a modular media downloading tool, centered around a CLI Orchestrator that drives the entire process. User requests are first handled by the CLI Orchestrator, which then delegates the task of identifying and extracting media information to the URL Extractor Core. The URL Extractor Core acts as a dispatcher, routing requests to the appropriate Site-Specific Extractors based on the provided URL. These specialized extractors, in turn, leverage the HTTP Client to interact with various online platforms and retrieve raw web content. The extracted media details are then structured and stored within the Media Information Model. Finally, the CLI Orchestrator utilizes this structured media information to trigger the Download Manager, which, with the assistance of the HTTP Client, handles the actual downloading of media streams. This architecture ensures a clear separation of concerns, allowing for easy extension with new site-specific extractors and robust handling of media extraction and download processes.

CLI Orchestrator [Expand]

The primary command-line interface component responsible for parsing user input, managing the overall workflow, and coordinating between other components.

Related Classes/Methods:

URL Extractor Core [Expand]

The central module for identifying the correct site-specific extractor and initiating the media information extraction process from a given URL.

Related Classes/Methods:

Site-Specific Extractors [Expand]

A collection of specialized, pluggable modules, each designed to extract detailed media information from a particular online video platform.

Related Classes/Methods:

Media Information Model [Expand]

Defines the data structures and associated utilities for holding, organizing, and presenting all extracted details about a media item.

Related Classes/Methods:

Download Manager [Expand]

Responsible for the actual downloading of media streams, including multi-part downloads, progress tracking, and error management.

Related Classes/Methods:

HTTP Client

Provides a robust and reusable interface for making HTTP/HTTPS requests, managing sessions, cookies, and response handling.

Related Classes/Methods: