SYMBOL INDEX (322 symbols across 29 files) FILE: src/starrail/automation/config/automation_config_handler.py class StarRailAutomationConfig (line 4) | class StarRailAutomationConfig: method __init__ (line 5) | def __init__(self): method load_all_automations (line 10) | def load_all_automations(self): method load_automation (line 22) | def load_automation(self, automation_name): method save_automation (line 26) | def save_automation(self, automation_name, payload): method delete_automation (line 30) | def delete_automation(self, automation_name): FILE: src/starrail/automation/pixel_calculator/pixel_calculator.py class PixelCalculator (line 4) | class PixelCalculator: method __init__ (line 5) | def __init__(self, monitor_info: dict): method transform_coordinate (line 15) | def transform_coordinate(prev_coor: tuple, prev_window_info: dict): FILE: src/starrail/automation/pixel_calculator/resolution_detector.py class ResolutionDetector (line 12) | class ResolutionDetector: method get_primary_monitor_size (line 16) | def get_primary_monitor_size() -> dict: method get_foreground_window_size (line 28) | def get_foreground_window_size(): method get_window_size (line 40) | def get_window_size(): method get_window_info (line 63) | def get_window_info(pid, retry: int = 5): FILE: src/starrail/automation/recorder.py class AutomationRecorder (line 27) | class AutomationRecorder(): method __init__ (line 28) | def __init__(self, sequence: AutomationSequence, starrail_instance: Ho... method create_indicator_window (line 41) | def create_indicator_window(self): method stop_recording (line 103) | def stop_recording(self, root: tk.Tk): method pause_or_resume_recording (line 109) | def pause_or_resume_recording(self): method record (line 112) | def record(self, start_on_callback=False) -> AutomationSequence: method __on_mouse_action (line 153) | def __on_mouse_action(self, x, y, button, pressed): method __on_scroll_action (line 174) | def __on_scroll_action(self, x, y, dx, dy): method __on_keyboard_action_press (line 191) | def __on_keyboard_action_press(self, key): method __on_keyboard_action_release (line 206) | def __on_keyboard_action_release(self, key): method on_mouse_action_update_window (line 243) | def on_mouse_action_update_window(self, x, y, delay): method on_scroll_action_update_window (line 247) | def on_scroll_action_update_window(self, x, y, dx, dy, delay): method on_keyboard_action_update_window (line 256) | def on_keyboard_action_update_window(self, key, delay, hold_time): method on_pause_action_update_window (line 263) | def on_pause_action_update_window(self): method __update_label (line 270) | def __update_label(self, text: str): method __scale_window (line 274) | def __scale_window(self, standard_width, standard_height, standard_rad... FILE: src/starrail/automation/units/action.py class Action (line 16) | class Action(ABC): method __init__ (line 18) | def __init__(self, *args): method __repr__ (line 23) | def __repr__(self): method execute (line 27) | def execute(self, *args): method to_json (line 31) | def to_json(self): class MouseAction (line 35) | class MouseAction(Action): method __init__ (line 36) | def __init__(self, coor: tuple, delay: float, click: bool, window_info... method execute (line 44) | def execute(self): method to_json (line 61) | def to_json(self): method __repr__ (line 72) | def __repr__(self): method __is_valid_for_pixel_calc (line 75) | def __is_valid_for_pixel_calc(self): class ScrollAction (line 87) | class ScrollAction(Action): method __init__ (line 88) | def __init__(self, coor: tuple, dx: float, dy: float, delay: float, wi... method execute (line 97) | def execute(self): method to_json (line 107) | def to_json(self): method __repr__ (line 121) | def __repr__(self): method __is_valid_for_pixel_calc (line 124) | def __is_valid_for_pixel_calc(self): class KeyboardAction (line 136) | class KeyboardAction(Action): method __init__ (line 137) | def __init__(self, key: str, delay: float, hold_time: float): method execute (line 142) | def execute(self, keyboard): method to_json (line 150) | def to_json(self): method __repr__ (line 157) | def __repr__(self): method press_key (line 160) | def press_key(self, key: str, pynput_keyboard: pynput.keyboard.Control... method reformat_key (line 182) | def reformat_key(self, key: keyboard.Key) -> str: FILE: src/starrail/automation/units/sequence.py class AutomationSequence (line 15) | class AutomationSequence: method __init__ (line 16) | def __init__( method __progress_bar (line 29) | def __progress_bar(self, actions: list, prefix="", size=40, out=sys.st... method execute (line 67) | def execute(self): method add (line 129) | def add(self, action: Action): method to_json (line 133) | def to_json(self): method parse_config (line 145) | def parse_config(raw_json_config: list): method print_sequence (line 198) | def print_sequence(self): method set_date_created_to_current (line 202) | def set_date_created_to_current(self): method set_global_delay (line 205) | def set_global_delay(self, global_delay: int): method get_runtime (line 208) | def get_runtime(self): FILE: src/starrail/bin/loader/loader.py class Loader (line 6) | class Loader: method __init__ (line 7) | def __init__(self, desc="Loading...", end="Done!", timeout=0.1): method start (line 24) | def start(self): method _animate (line 28) | def _animate(self): method __enter__ (line 35) | def __enter__(self): method stop (line 38) | def stop(self): method __exit__ (line 45) | def __exit__(self, exc_type, exc_value, tb): FILE: src/starrail/bin/pick/pick.py class Option (line 32) | class Option: class Picker (line 50) | class Picker(Generic[OPTION_T]): method __post_init__ (line 61) | def __post_init__(self) -> None: method move_up (line 75) | def move_up(self) -> None: method move_down (line 80) | def move_down(self) -> None: method mark_index (line 85) | def mark_index(self) -> None: method get_selected (line 92) | def get_selected(self) -> Union[List[PICK_RETURN_T], PICK_RETURN_T]: method get_title_lines (line 104) | def get_title_lines(self) -> List[str]: method get_option_lines (line 109) | def get_option_lines(self) -> List[str]: method get_lines (line 136) | def get_lines(self) -> Tuple[List, int]: method draw (line 143) | def draw(self, screen: "curses._CursesWindow") -> None: method run_loop (line 166) | def run_loop( method config_curses (line 186) | def config_curses(self) -> None: method _start (line 196) | def _start(self, screen: "curses._CursesWindow"): method start (line 200) | def start(self): function pick (line 212) | def pick( FILE: src/starrail/bin/pid/get_active_pid.c function main (line 7) | int main() { FILE: src/starrail/bin/scheduler/config/starrail_schedule_config.py class StarRailScheduleConfig (line 4) | class StarRailScheduleConfig(JSONConfigHandler): method __init__ (line 5) | def __init__(self): method load_schedule (line 9) | def load_schedule(self): method save_schedule (line 12) | def save_schedule(self, payload): FILE: src/starrail/bin/scheduler/starrail_scheduler.py class OperationTypes (line 15) | class OperationTypes(Enum): class StartRailJob (line 20) | class StartRailJob: method __init__ (line 21) | def __init__(self, job_id: int, job: schedule.Job, op_type: OperationT... method __str__ (line 31) | def __str__(self): method print_job (line 34) | def print_job(self): method to_dict (line 37) | def to_dict(self): class StarRailScheduler (line 48) | class StarRailScheduler: method __init__ (line 49) | def __init__(self, starrail_instance: HonkaiStarRail): method __load_schedules (line 65) | def __load_schedules(self): method __run_scheduler (line 89) | def __run_scheduler(self): method stop_scheduler (line 94) | def stop_scheduler(self): method add_new_schedule (line 104) | def add_new_schedule(self, time_str, operation_type: OperationTypes): method remove_schedule (line 133) | def remove_schedule(self): method show_schedules (line 162) | def show_schedules(self): method clear_schedules (line 173) | def clear_schedules(self): method __parse_time_format (line 200) | def __parse_time_format(self, str_time: str): method __parse_id (line 219) | def __parse_id(self, str_id: str): method __get_job_with_id (line 227) | def __get_job_with_id(self, job_id: int): method __get_next_job_id (line 235) | def __get_next_job_id(self): FILE: src/starrail/config/config_handler.py class StarRailConfig (line 34) | class StarRailConfig(JSONConfigHandler): method __init__ (line 35) | def __init__(self): method save_current_config (line 80) | def save_current_config(self): method full_configured (line 95) | def full_configured(self) -> bool: method path_configured (line 98) | def path_configured(self) -> bool: method disclaimer_configured (line 111) | def disclaimer_configured(self) -> bool: method set_path (line 119) | def set_path(self, game_path: str): method __reset_config (line 125) | def __reset_config(self): FILE: src/starrail/controllers/automation_controller.py class StarRailAutomationController (line 14) | class StarRailAutomationController: method __init__ (line 15) | def __init__(self, starrail_instance: HonkaiStarRail): method __load_all_sequences (line 21) | def __load_all_sequences(self): method verbose_general_usage (line 32) | def verbose_general_usage(self): method get_all_sequences (line 50) | def get_all_sequences(self, list_format=False): method get_sequence (line 55) | def get_sequence(self, sequence_name: str): method get_sequence_with_id (line 62) | def get_sequence_with_id(self, sequence_id: int): method run_requence (line 73) | def run_requence(self, sequence_name=None): method show_sequences (line 113) | def show_sequences(self): method record_sequences (line 123) | def record_sequences(self, sequence_name=None): method delete_sequence (line 159) | def delete_sequence(self): method clear_sequences (line 178) | def clear_sequences(self): method tryget_int (line 199) | def tryget_int(self, user_input_id): method __sequence_already_exist (line 210) | def __sequence_already_exist(self, r_sequence_name): method get_range_string (line 216) | def get_range_string(self): method get_next_sequence_id (line 221) | def get_next_sequence_id(self): method __reformat_sequence_name (line 226) | def __reformat_sequence_name(self, sequence_name: str): FILE: src/starrail/controllers/c_click_controller.py class ContinuousClickController (line 11) | class ContinuousClickController: method __init__ (line 12) | def __init__(self): method click_continuously (line 18) | def click_continuously( method __click (line 54) | def __click(self, hold_time, interval, randomize_interval): method __verbose_start (line 65) | def __verbose_start(self, count, interval, randomize_by, hold_time, st... method __verbose_click (line 92) | def __verbose_click(self, max_count): method __on_press (line 99) | def __on_press(self, button): FILE: src/starrail/controllers/star_rail_app.py class HonkaiStarRail (line 21) | class HonkaiStarRail: method __init__ (line 22) | def __init__(self): method start (line 34) | def start(self) -> bool: method terminate (line 54) | def terminate(self) -> bool: method schedule (line 79) | def schedule(self): method show_status (line 89) | def show_status(self, live=False): method show_config (line 138) | def show_config(self): method screenshots (line 154) | def screenshots(self): method logs (line 165) | def logs(self): method show_pulls (line 176) | def show_pulls(self): method verbose_play_time (line 188) | def verbose_play_time(self): method webcache_announcements (line 203) | def webcache_announcements(self): method webcache_events (line 212) | def webcache_events(self): method webcache_all (line 221) | def webcache_all(self): method __print_cached_urls (line 244) | def __print_cached_urls(self, url_list): method streaming_assets (line 253) | def streaming_assets(self): method __get_screenshot_path (line 279) | def __get_screenshot_path(self): method __get_log_path (line 282) | def __get_log_path(self): method __get_game_config_path (line 285) | def __get_game_config_path(self): method fetch_game_version (line 288) | def fetch_game_version(self): method wait_to_start (line 310) | def wait_to_start(self, timeout = 30) -> bool: method is_running (line 318) | def is_running(self) -> bool: method is_focused (line 321) | def is_focused(self) -> bool: method get_starrail_process (line 331) | def get_starrail_process(self) -> psutil.Process: method proc_is_starrail (line 353) | def proc_is_starrail(self, starrail_proc: psutil.Process): FILE: src/starrail/controllers/streaming_assets_controller.py class StarRailStreamingAssetsBinaryFile (line 17) | class StarRailStreamingAssetsBinaryFile(Enum): class StarRailStreamingAssetsController (line 23) | class StarRailStreamingAssetsController: method __init__ (line 24) | def __init__(self, starrail_config: StarRailConfig): method get_decoded_streaming_assets (line 32) | def get_decoded_streaming_assets(self, sa_binary_file: StarRailStreami... method get_sa_binary_version (line 41) | def get_sa_binary_version(self): method get_sa_client_config (line 44) | def get_sa_client_config(self): method get_sa_dev_config (line 47) | def get_sa_dev_config(self): method decode_streaming_assets (line 55) | def decode_streaming_assets(self, sa_binary_file: StarRailStreamingAss... method parse_webcache (line 70) | def parse_webcache(self, decoded_strings, sa_binary_file: StarRailStre... FILE: src/starrail/controllers/web_controller.py class StarRailWebController (line 6) | class StarRailWebController: method __init__ (line 7) | def __init__(self): method homepage (line 10) | def homepage(self, cn=False): method hoyolab (line 18) | def hoyolab(self): method youtube (line 22) | def youtube(self): method bilibili (line 26) | def bilibili(self): FILE: src/starrail/controllers/webcache_controller.py class StarRailWebCacheBinaryFile (line 19) | class StarRailWebCacheBinaryFile(Enum): class StarRailWebCacheController (line 25) | class StarRailWebCacheController: method __init__ (line 26) | def __init__(self, starrail_config: StarRailConfig): method get_decoded_webcache (line 34) | def get_decoded_webcache(self, webcache_binary_file: StarRailWebCacheB... method get_announcements_cache (line 42) | def get_announcements_cache(self): method get_events_cache (line 45) | def get_events_cache(self): method decode_webcache (line 53) | def decode_webcache(self, webcache_binary_file: StarRailWebCacheBinary... method parse_webcache (line 84) | def parse_webcache(self, decoded_strings, webcache_file: StarRailWebCa... method filter_urls (line 97) | def filter_urls(self, target_sequence: str, decoded_strings): method should_ignore (line 109) | def should_ignore(self, url: str): FILE: src/starrail/entrypoints/entrypoint_handler.py class StarRailEntryPointHandler (line 24) | class StarRailEntryPointHandler: method __init__ (line 25) | def __init__(self): method about (line 35) | def about(self, args): method version (line 48) | def version(self, args): method author (line 58) | def author(self, args): method repo (line 61) | def repo(self, args): method show_status (line 71) | def show_status(self, args): method show_config (line 74) | def show_config(self, args): method show_details (line 77) | def show_details(self, args): method play_time (line 80) | def play_time(self, args): method start (line 87) | def start(self, args): method stop (line 90) | def stop(self, args): method schedule (line 93) | def schedule(self, args): method automation (line 150) | def automation(self, args): method click_continuously (line 183) | def click_continuously(self, args): method homepage (line 209) | def homepage(self, args): method hoyolab (line 212) | def hoyolab(self, args): method youtube (line 215) | def youtube(self, args): method bilibili (line 218) | def bilibili(self, args): method screenshots (line 225) | def screenshots(self, args): method game_logs (line 228) | def game_logs(self, args): method decode (line 231) | def decode(self, args): method pulls (line 235) | def pulls(self, args): method webcache (line 238) | def webcache(self, args): method configure (line 255) | def configure(self, args): method elevate (line 307) | def elevate(self, args): method print_title (line 315) | def print_title(self): method print_init_help (line 338) | def print_init_help(self): method clear_screen (line 358) | def clear_screen(self): method check_custom_commands (line 361) | def check_custom_commands(self, user_input: str): method setup_key_bindings (line 381) | def setup_key_bindings(self): method start_cli (line 395) | def start_cli(self, parser: argparse.ArgumentParser): method firefly (line 462) | def firefly(self, args): FILE: src/starrail/entrypoints/entrypoints.py class StarRailArgParser (line 14) | class StarRailArgParser(argparse.ArgumentParser): method __init__ (line 15) | def __init__(self, *args, **kwargs): method add_group (line 19) | def add_group(self, title, description=None): method add_parser_to_group (line 24) | def add_parser_to_group(self, group, parser): method error (line 27) | def error(self, message): function start_starrail (line 45) | def start_starrail(): FILE: src/starrail/entrypoints/help_format_handler.py class HelpFormatHandler (line 4) | class HelpFormatHandler: method print_help (line 5) | def print_help(self, args, parser): FILE: src/starrail/exceptions/exceptions.py class StarRailBaseException (line 24) | class StarRailBaseException(Exception): method __init__ (line 26) | def __init__(self, message): class StarRailModuleException (line 29) | class StarRailModuleException(Exception): method __init__ (line 31) | def __init__(self, err_code): class StarRailOSNotSupported (line 35) | class StarRailOSNotSupported(Exception): method __init__ (line 37) | def __init__(self): class StarRailConfigNotExistsException (line 40) | class StarRailConfigNotExistsException(Exception): method __init__ (line 42) | def __init__(self, config_path): class SRExit (line 48) | class SRExit(Exception): method __init__ (line 50) | def __init__(self, message="Module internal exit requested (should be ... FILE: src/starrail/utils/binary_decoder.py class StarRailBinaryDecoder (line 10) | class StarRailBinaryDecoder: method __init__ (line 11) | def __init__(self): method decode_raw_binary_file (line 14) | def decode_raw_binary_file(self, file_path, min_length=8): method user_decode (line 35) | def user_decode(self, file_path=None, min_length=8): FILE: src/starrail/utils/game_detector.py class StarRailGameDetector (line 13) | class StarRailGameDetector: method __init__ (line 17) | def __init__(self): method get_local_drives (line 30) | def get_local_drives(self): method find_game_in_path (line 35) | def find_game_in_path(self, path, name, stop_flag): method find_game (line 52) | def find_game(self, paths=[], name=GAME_FILENAME): method is_file_over_size (line 85) | def is_file_over_size(self, file_path): FILE: src/starrail/utils/json_handler.py class JSONConfigHandler (line 6) | class JSONConfigHandler(ABC): method __init__ (line 7) | def __init__(self, config_abs_path, config_type=dict): method LOAD_CONFIG (line 11) | def LOAD_CONFIG(self): method SAVE_CONFIG (line 22) | def SAVE_CONFIG(self, json_payload) -> bool: method DELETE_CONFIG (line 30) | def DELETE_CONFIG(self): method CONFIG_EXISTS (line 39) | def CONFIG_EXISTS(self): method VALIDATE_CONFIG (line 42) | def VALIDATE_CONFIG(self): FILE: src/starrail/utils/perm_elevate.py class StarRailPermissionsHandler (line 7) | class StarRailPermissionsHandler: method elevate (line 9) | def elevate(arguments: list = []): method elevate_post_cli (line 32) | def elevate_post_cli(follow_up_cmd: str): FILE: src/starrail/utils/process_handler.py class ProcessHandler (line 8) | class ProcessHandler: method get_focused_pid (line 11) | def get_focused_pid(): method get_related_processes (line 22) | def get_related_processes(process_pid: int): method kill_pid (line 40) | def kill_pid(pid, verbose_failure=True, is_child=False): method kill_pid_and_residual (line 61) | def kill_pid_and_residual(pid): FILE: src/starrail/utils/utils.py class Printer (line 48) | class Printer: method hex_text (line 50) | def hex_text(text, hex_color): method to_purple (line 61) | def to_purple(text): method to_lightpurple (line 65) | def to_lightpurple(text): method to_skyblue (line 69) | def to_skyblue(text): method to_lightgrey (line 73) | def to_lightgrey(text): method to_blue (line 77) | def to_blue(text): method to_lightblue (line 81) | def to_lightblue(text): method to_darkblue (line 85) | def to_darkblue(text): method to_lightgreen (line 89) | def to_lightgreen(text): method to_lightred (line 93) | def to_lightred(text): method to_githubblack (line 96) | def to_githubblack(text): method to_pale_yellow (line 102) | def to_pale_yellow(text): method to_light_blue (line 106) | def to_light_blue(text): method to_teal (line 110) | def to_teal(text): method to_turquoise (line 114) | def to_turquoise(text): method to_dark_teal (line 118) | def to_dark_teal(text): class LogType (line 124) | class LogType(Enum): function __get_colored_prefix (line 130) | def __get_colored_prefix(): function __get_colored_submodule (line 134) | def __get_colored_submodule(submodule_name): function atext (line 138) | def atext(text: str, log_type: LogType = LogType.NORMAL) -> str: function aprint (line 142) | def aprint( function get_prefix_space (line 170) | def get_prefix_space(): function color_cmd (line 173) | def color_cmd(text: str, with_quotes: bool = False): function bool_to_str (line 188) | def bool_to_str(boolean: bool, true_text="Running", false_text="Not Runn... class StarRailGameDetector (line 197) | class StarRailGameDetector: method get_local_drives (line 201) | def get_local_drives(self): method find_game_in_path (line 205) | def find_game_in_path(self, path, name, stop_flag): method find_game (line 213) | def find_game(self, paths=[], name=GAME_FILENAME): class StarRailScreenshotController (line 238) | class StarRailScreenshotController: method __init__ (line 242) | def __init__(self): method get_screenshot_path (line 245) | def get_screenshot_path(self): method take_screenshot (line 248) | def take_screenshot(self): function verify_platform (line 254) | def verify_platform(): function is_admin (line 265) | def is_admin() -> bool: function print_disclaimer (line 281) | def print_disclaimer(): function print_webcache_explanation (line 287) | def print_webcache_explanation(): function center_text (line 300) | def center_text(text: str): function print_centered (line 312) | def print_centered(text: str): class DatetimeHandler (line 324) | class DatetimeHandler: method get_datetime (line 326) | def get_datetime(): method get_datetime_str (line 329) | def get_datetime_str(): method get_time_str (line 332) | def get_time_str(): method datetime_to_str (line 336) | def datetime_to_str(datetime: datetime): method str_to_datetime (line 340) | def str_to_datetime(datetime_str: str): method epoch_to_time_str (line 344) | def epoch_to_time_str(epoch_time: float): method epoch_to_datetime (line 348) | def epoch_to_datetime(epoch_time: float): method seconds_to_time_str (line 352) | def seconds_to_time_str(seconds: int): class HashCalculator (line 365) | class HashCalculator: method SHA256 (line 367) | def SHA256(file_path: str): function merge_dicts (line 376) | def merge_dicts(*dicts): FILE: tests/verify_package.py function check_init_files (line 7) | def check_init_files(build_dir=os.path.join(os.path.dirname(os.path.dirn...