SYMBOL INDEX (100 symbols across 14 files) FILE: .scripts/md-to-bb.py function markdown_to_bbcode (line 6) | def markdown_to_bbcode(text): function main (line 26) | def main(): FILE: __init__.py class KoreaderSync (line 34) | class KoreaderSync(InterfaceActionBase): method is_customizable (line 44) | def is_customizable(self): method config_widget (line 47) | def config_widget(self): method save_settings (line 54) | def save_settings(self, config_widget): function clean_bookmarks (line 58) | def clean_bookmarks(bookmarks): FILE: action.py class GetSidecarStatus (line 95) | class GetSidecarStatus(Enum): class OperationStatus (line 100) | class OperationStatus(Enum): function is_system_path (line 106) | def is_system_path(path): function append_results (line 118) | def append_results(results, title, status_msg, book_uuid, sidecar_path): function parse_sidecar_lua (line 134) | def parse_sidecar_lua(sidecar_lua): class KoreaderAction (line 176) | class KoreaderAction(InterfaceAction): method genesis (line 190) | def genesis(self): method is_usb_device (line 290) | def is_usb_device(self, device): method exec_main_action (line 294) | def exec_main_action(self) -> None: method show_config (line 304) | def show_config(self): method show_readme (line 307) | def show_readme(self): method show_about (line 316) | def show_about(self): method apply_settings (line 340) | def apply_settings(self): method get_connected_device (line 347) | def get_connected_device(self): method _on_device_metadata_available (line 392) | def _on_device_metadata_available(self): method get_paths (line 395) | def get_paths(self, device): method get_sidecar (line 435) | def get_sidecar(self, device, path): method get_calibre_uuid_from_sidecar (line 490) | def get_calibre_uuid_from_sidecar(self, sidecar_contents): method update_metadata (line 508) | def update_metadata(self, uuid, db, keys_values_to_update): method check_device (line 658) | def check_device(self, device): method device_path_exists (line 709) | def device_path_exists(self, device, path): method push_metadata_to_koreader_sidecar (line 751) | def push_metadata_to_koreader_sidecar(self, device, book_uuid, path): method sync_missing_sidecars_to_koreader (line 847) | def sync_missing_sidecars_to_koreader(self, silent=False): method sync_progress_from_progresssync (line 960) | def sync_progress_from_progresssync(self, silent=False): method scheduled_progress_sync (line 1177) | def scheduled_progress_sync(self): method sync_to_calibre (line 1204) | def sync_to_calibre(self, silent=False): class ProgressDialog (line 1436) | class ProgressDialog(QDialog): method __init__ (line 1437) | def __init__(self, parent, title: str, count: int): method setValue (line 1450) | def setValue(self, idx: int, bookTitle: str): class SyncCompletionDialog (line 1455) | class SyncCompletionDialog(QDialog): method __init__ (line 1456) | def __init__(self, parent=None, title="", msg="", results=None, type=N... method create_results_table (line 1513) | def create_results_table(self, results): FILE: config.py function create_separator (line 331) | def create_separator(): class ConfigWidget (line 338) | class ConfigWidget(QWidget): # https://doc.qt.io/qt-5/qwidget.html method __init__ (line 339) | def __init__(self, plugin_action): method show_progress_sync_popup (line 448) | def show_progress_sync_popup(self): method save_settings (line 452) | def save_settings(self): method add_checkbox (line 486) | def add_checkbox(self, checkboxKey): method create_custom_column_controls (line 502) | def create_custom_column_controls(self, columns_group_box_layout, cust... method create_custom_column (line 523) | def create_custom_column(self, lookup_name=None): method get_create_new_custom_column_instance (line 555) | def get_create_new_custom_column_instance(self): method get_custom_columns (line 561) | def get_custom_columns(self, datatype, only_is_multiple=False): class ProgressSyncPopup (line 583) | class ProgressSyncPopup(QDialog): method __init__ (line 584) | def __init__(self, parent): method save_progress_sync_settings (line 624) | def save_progress_sync_settings(self): method hash_password (line 631) | def hash_password(self, password): class TitleLayout (line 636) | class TitleLayout(QHBoxLayout): method __init__ (line 641) | def __init__(self, parent, icon, title): class CustomColumnComboBox (line 676) | class CustomColumnComboBox(QComboBox): method __init__ (line 677) | def __init__(self, parent, custom_columns=None, selected_column='', cr... method populate_combo (line 686) | def populate_combo(self, custom_columns, selected_column, show_lookup_... method get_selected_column (line 711) | def get_selected_column(self): method current_text_changed (line 717) | def current_text_changed(self, new_text): method wheelEvent (line 725) | def wheelEvent(self, event): # Prevents the mouse wheel from changing... FILE: slpp.py function sequential (line 35) | def sequential(lst): class ParseError (line 46) | class ParseError(Exception): class SLPP (line 50) | class SLPP(object): method __init__ (line 52) | def __init__(self): method decode (line 64) | def decode(self, text): method encode (line 74) | def encode(self, obj): method __encode (line 78) | def __encode(self, obj): method white (line 115) | def white(self): method comment (line 123) | def comment(self): method next_is (line 141) | def next_is(self, value): method prev_is (line 146) | def prev_is(self, value): method next_chr (line 151) | def next_chr(self): method value (line 159) | def value(self): method string (line 173) | def string(self, end=None): method object (line 194) | def object(self): method word (line 248) | def word(self): method number (line 258) | def number(self): method digit (line 295) | def digit(self): method hex (line 302) | def hex(self): FILE: tests/conftest.py class MockInterfaceActionBase (line 22) | class MockInterfaceActionBase: class MockUSBMS (line 30) | class MockUSBMS: class MockInterfaceAction (line 50) | class MockInterfaceAction: method __init__ (line 51) | def __init__(self, parent, site_customization): FILE: tests/integration/test_docker_path_resolution.py function test_wireless_device_avoids_local_filesystem (line 6) | def test_wireless_device_avoids_local_filesystem(): function test_usb_device_triggers_makedirs (line 48) | def test_usb_device_triggers_makedirs(): function test_wireless_device_skips_makedirs (line 79) | def test_wireless_device_skips_makedirs(): FILE: tests/integration/test_integration.py function test_dummy_data_consistency (line 8) | def test_dummy_data_consistency(): function test_get_paths_with_dummy_device (line 26) | def test_get_paths_with_dummy_device(): FILE: tests/integration/test_issue_143_fix.py function test_fix_issue_143_usb_direct_write (line 8) | def test_fix_issue_143_usb_direct_write(): function test_wireless_still_uses_put_file (line 43) | def test_wireless_still_uses_put_file(): FILE: tests/integration/test_issue_143_repro.py function test_reproduce_issue_143 (line 7) | def test_reproduce_issue_143(): FILE: tests/integration/test_uuid_mismatch.py function test_get_calibre_uuid_from_sidecar (line 7) | def test_get_calibre_uuid_from_sidecar(): function test_uuid_mismatch_resolution_integration (line 34) | def test_uuid_mismatch_resolution_integration(): FILE: tests/unit/test_bookmarks.py function test_clean_bookmarks_large_payload (line 5) | def test_clean_bookmarks_large_payload(): function test_clean_bookmarks_empty (line 40) | def test_clean_bookmarks_empty(): FILE: tests/unit/test_md5_logic.py function test_sidecar_path_regex_robustness (line 7) | def test_sidecar_path_regex_robustness(): function test_is_system_path (line 20) | def test_is_system_path(): FILE: tests/unit/test_version.py function test_version_match (line 4) | def test_version_match(): function test_version_tuple_match (line 28) | def test_version_tuple_match():