SYMBOL INDEX (111 symbols across 9 files) FILE: src/datacamp_downloader/datacamp_utils.py function login_required (line 41) | def login_required(f): function try_except_request (line 55) | def try_except_request(f): class Datacamp (line 74) | class Datacamp: method __init__ (line 75) | def __init__(self, session: "session.Session") -> None: method init (line 80) | def init(self): method login (line 97) | def login(self, username, password): method set_token (line 236) | def set_token(self, token): method get_profile_data (line 248) | def get_profile_data(self): method list_completed_tracks (line 258) | def list_completed_tracks(self, refresh): method list_completed_courses (line 272) | def list_completed_courses(self, refresh): method download (line 296) | def download(self, ids, directory, **kwargs): method download_normal_exercise (line 348) | def download_normal_exercise( method download_track (line 366) | def download_track(self, track: Track, path: Path, **kwargs): method download_course (line 374) | def download_course(self, course: Course, path: Path, index="", **kwar... method download_others (line 407) | def download_others(self, course_id, chapter: Chapter, path: Path, **k... method get_completed_tracks (line 471) | def get_completed_tracks(self, refresh=False): method get_completed_courses (line 499) | def get_completed_courses(self, refresh=False): method get_course (line 521) | def get_course(self, id): method get_course_by_order (line 529) | def get_course_by_order(self, order): method get_exercises_last_attempt (line 535) | def get_exercises_last_attempt(self, course_id, chapter_id): method get_track (line 546) | def get_track(self, id): method _get_courses_from_link (line 552) | def _get_courses_from_link(self, link: str): method _get_chapter_name (line 566) | def _get_chapter_name(self, chapter: Chapter): method _set_profile (line 575) | def _set_profile(self): method _get_subtitle (line 602) | def _get_subtitle(self, sub, video: Video): method _get_video (line 610) | def _get_video(self, id): method _get_exercises_ids (line 619) | def _get_exercises_ids(self, course_id, chapter_id): method _get_exercise (line 633) | def _get_exercise(self, id): method _get_course (line 642) | def _get_course(self, id): FILE: src/datacamp_downloader/downloader.py function version_callback (line 14) | def version_callback(value: bool): function main (line 20) | def main( function login (line 36) | def login( function set_token (line 45) | def set_token(token: str = typer.Argument(...)): function tracks (line 51) | def tracks( function courses (line 61) | def courses( function download (line 71) | def download( function reset (line 170) | def reset(): FILE: src/datacamp_downloader/helper.py class Logger (line 13) | class Logger: method error (line 18) | def error(cls, text): method clear (line 22) | def clear(cls): method warning (line 26) | def warning(cls, text): method info (line 31) | def info(cls, text): method print (line 35) | def print(cls, text, head, color=None, background=None, end="\n"): method clear_and_print (line 42) | def clear_and_print(cls, text): function get_table (line 49) | def get_table(): function animate_wait (line 54) | def animate_wait(f): function correct_path (line 79) | def correct_path(path: str): function download_file (line 83) | def download_file(link: str, path: Path, progress=True, max_retry=10, ov... function print_progress (line 119) | def print_progress(progress, total, name, max=50): function save_text (line 130) | def save_text(path: Path, content: str, overwrite=False): function fix_track_link (line 142) | def fix_track_link(link): FILE: src/datacamp_downloader/session.py class Session (line 30) | class Session: method __init__ (line 31) | def __init__(self) -> None: method save (line 35) | def save(self): method load_datacamp (line 40) | def load_datacamp(self): method reset (line 47) | def reset(self): method _setup_driver (line 53) | def _setup_driver(self, headless=True): method start (line 102) | def start(self, headless=False): method bypass_cloudflare (line 111) | def bypass_cloudflare(self, url): method get (line 119) | def get(self, url): method get_json (line 127) | def get_json(self, url): method to_json (line 144) | def to_json(self, page: str): method get_element_by_id (line 147) | def get_element_by_id(self, id: str) -> WebElement: method get_element_by_xpath (line 150) | def get_element_by_xpath(self, xpath: str) -> WebElement: method click_element (line 153) | def click_element(self, id: str): method wait_for_element_by_css_selector (line 156) | def wait_for_element_by_css_selector(self, *css: str, timeout: int = 10): method add_token (line 161) | def add_token(self, token: str): FILE: src/datacamp_downloader/templates/course.py class TypeEnum (line 7) | class TypeEnum(Enum): class Exercise (line 13) | class Exercise: method __init__ (line 20) | def __init__( class Chapter (line 36) | class Chapter: method __init__ (line 53) | def __init__( class Collaborator (line 89) | class Collaborator: method __init__ (line 93) | def __init__(self, avatar_url: str, full_name: str) -> None: class Dataset (line 98) | class Dataset: method __init__ (line 102) | def __init__(self, asset_url: str, name: str) -> None: class Instructor (line 107) | class Instructor: method __init__ (line 115) | def __init__( class SharingLinks (line 133) | class SharingLinks: method __init__ (line 137) | def __init__(self, twitter: str, facebook: str) -> None: class Track (line 142) | class Track: method __init__ (line 146) | def __init__(self, path: str, title_with_subtitle: str) -> None: class Course (line 151) | class Course: method __init__ (line 152) | def __init__(self, FILE: src/datacamp_downloader/templates/exercise.py class Data (line 10) | class Data: method __init__ (line 33) | def __init__( class Exercise (line 83) | class Exercise: method __init__ (line 90) | def __init__( method is_video (line 109) | def is_video(self): method is_python (line 113) | def is_python(self): method __str__ (line 116) | def __str__(self) -> str: method get_hints (line 130) | def get_hints(self): method get_anwsers (line 136) | def get_anwsers(self): method get_instructions (line 143) | def get_instructions(self): method _get_ordered_list (line 149) | def _get_ordered_list(self, list): method get_solution (line 152) | def get_solution(self): method get_sample_code (line 160) | def get_sample_code(self): method get_pre_exercise_code (line 165) | def get_pre_exercise_code(self): method _get_code (line 171) | def _get_code(self, code): FILE: src/datacamp_downloader/templates/lang.py class Language (line 4) | class Language(str, Enum): FILE: src/datacamp_downloader/templates/track.py class Track (line 6) | class Track: method __init__ (line 12) | def __init__(self, id: int, title: str, link: str) -> None: FILE: src/datacamp_downloader/templates/video.py class TypeEnum (line 7) | class TypeEnum(Enum): class Structure (line 13) | class Structure: method __init__ (line 30) | def __init__( class SlideDeck (line 66) | class SlideDeck: method __init__ (line 76) | def __init__( class Subtitle (line 97) | class Subtitle: method __init__ (line 101) | def __init__(self, language: str, link: str) -> None: class Video (line 106) | class Video: method __init__ (line 122) | def __init__(