SYMBOL INDEX (634 symbols across 84 files) FILE: MangaManager/Extensions/CoverDownloader/CoverDownloader.py function get_cover_from_source_dummy (line 5) | def get_cover_from_source_dummy() -> list: class CoverDownloader (line 9) | class CoverDownloader():#IExtensionApp): method serve_gui (line 12) | def serve_gui(self): FILE: MangaManager/Extensions/IExtensionApp.py class IExtensionApp (line 6) | class IExtensionApp(tkinter.Toplevel, metaclass=abc.ABCMeta): method __init__ (line 17) | def __init__(self, master, super_=None, **kwargs): method _initialize (line 36) | def _initialize(self): method serve_gui (line 48) | def serve_gui(self): FILE: MangaManager/Extensions/Template.py class ExtensionTemplate (line 8) | class ExtensionTemplate(IExtensionApp): method serve_gui (line 11) | def serve_gui(self): FILE: MangaManager/Extensions/WebpConverter/WebpConverter.py function start_processing (line 20) | def start_processing(_selected_files,_progress_bar): function _run_process (line 23) | def _run_process(list_of_files,progress_bar:ProgressBarWidget): class WebpConverter (line 39) | class WebpConverter(IExtensionApp): method pb_update (line 50) | def pb_update(self): method selected_files (line 56) | def selected_files(self): method process (line 60) | def process(self): method select_base (line 72) | def select_base(self): method _on_file (line 76) | def _on_file(self, parent, file): method _on_folder (line 79) | def _on_folder(self, parent_dic, folder): method _clear (line 84) | def _clear(self): method _set_input (line 88) | def _set_input(self): method preview (line 96) | def preview(self): method serve_gui (line 109) | def serve_gui(self): FILE: MangaManager/ExternalSources/CoverSources/MangaDex/MangaDex.py class MangaDex (line 16) | class MangaDex(ICoverSource): method parse_identifier (line 20) | def parse_identifier(identifier) -> str: method get_covers (line 24) | def get_covers(cls, identifier: str) -> list[Cover]: method parse_input (line 84) | def parse_input(cls, value) -> str: FILE: MangaManager/ExternalSources/MetadataSources/MetadataSourceFactory.py class ScraperFactory (line 16) | class ScraperFactory: method __new__ (line 21) | def __new__(cls): method __init__ (line 27) | def __init__(self): method get_scraper (line 30) | def get_scraper(self, setting_name): FILE: MangaManager/ExternalSources/MetadataSources/Providers/AniList.py class AniListPerson (line 20) | class AniListPerson(StrEnum): class AniListSetting (line 28) | class AniListSetting(StrEnum): class AniList (line 32) | class AniList(IMetadataSource): method init_settings (line 40) | def init_settings(self): method save_settings (line 73) | def save_settings(self): method is_valid_person_tag (line 85) | def is_valid_person_tag(key, value): method get_manga_id_from_url (line 92) | def get_manga_id_from_url(url): method _get_id_from_series (line 99) | def _get_id_from_series(cls, cinfo: ComicInfo) -> Optional[int]: method get_cinfo (line 115) | def get_cinfo(cls, comic_info_from_ui: ComicInfo) -> ComicInfo | None: method _post (line 156) | def _post(cls, query, variables, logging_info): method _search_for_manga_title_by_id (line 178) | def _search_for_manga_title_by_id(cls, manga_id, logging_info): method _search_for_manga_title_by_manga_title (line 200) | def _search_for_manga_title_by_manga_title(cls, manga_title, format_, ... method search_for_manga_title_by_manga_title_with_adult (line 226) | def search_for_manga_title_by_manga_title_with_adult(cls, manga_title,... method _search_details_by_series_id (line 249) | def _search_details_by_series_id(cls, series_id, format_, logging_info): class AniListRateLimit (line 300) | class AniListRateLimit(Exception): FILE: MangaManager/ExternalSources/MetadataSources/Providers/ComicVine.py class ComicVine (line 12) | class ComicVine(IMetadataSource, ABC): method __init__ (line 16) | def __init__(self): method save_settings (line 28) | def save_settings(self): method get_cinfo (line 31) | def get_cinfo(self, comic_info_from_ui: ComicInfo) -> ComicInfo | None: method _search_by_title (line 59) | def _search_by_title(self, series_name, publish_year=""): method _search_by_issue (line 76) | def _search_by_issue(self, series_name, issue_number): method _build_url_base (line 79) | def _build_url_base(self, entity): FILE: MangaManager/ExternalSources/MetadataSources/Providers/MangaUpdates.py class MangaUpdatesPerson (line 16) | class MangaUpdatesPerson(StrEnum): class MangaUpdates (line 21) | class MangaUpdates(IMetadataSource): method init_settings (line 35) | def init_settings(self): method save_settings (line 46) | def save_settings(self): method is_valid_person_tag (line 52) | def is_valid_person_tag(key, value): method get_cinfo (line 60) | def get_cinfo(cls, comic_info_from_ui) -> ComicInfo | None: method _get_series_id (line 88) | def _get_series_id(cls, search_params, logging_info): method _get_series_details (line 108) | def _get_series_details(cls, manga_title, logging_info): FILE: MangaManager/common/__init__.py function get_invalid_person_tag (line 4) | def get_invalid_person_tag(people: str): FILE: MangaManager/common/models/AgeRating.py class AgeRating (line 4) | class AgeRating(str, Enum): method list (line 22) | def list(cls): FILE: MangaManager/common/models/ComicInfo.py class ComicInfo (line 54) | class ComicInfo: method __init__ (line 102) | def __init__(self): method set_by_tag_name (line 105) | def set_by_tag_name(self, tag, value): method get_by_tag_name (line 112) | def get_by_tag_name(self, name) -> str: method from_xml (line 122) | def from_xml(cls, xml_string): method to_xml (line 130) | def to_xml(self): method has_changes (line 152) | def has_changes(self, other): FILE: MangaManager/common/models/ComicPageType.py class ComicPageType (line 4) | class ComicPageType(str, Enum): method list (line 18) | def list(cls): # pragma: no cover FILE: MangaManager/common/models/Manga.py class Manga (line 4) | class Manga(str, Enum): method list (line 11) | def list(cls): # pragma: no cover FILE: MangaManager/common/models/YesNo.py class YesNo (line 4) | class YesNo(str, Enum): method list (line 10) | def list(cls): # pragma: no cover FILE: MangaManager/logging_setup.py function trace (line 6) | def trace(self, message, *args, **kws): function add_trace_level (line 11) | def add_trace_level(): class UmpumpedLogHandler (line 17) | class UmpumpedLogHandler(logging.Handler): method emit (line 18) | def emit(self, record): function setup_logging (line 22) | def setup_logging(LOGFILE_PATH,level=logging.DEBUG): FILE: MangaManager/main.py class ToolS (line 58) | class ToolS(enum.Enum): method list (line 64) | def list(cls): function get_selected_files (line 68) | def get_selected_files(glob_path) -> list[str]: FILE: MangaManager/src/Common/LoadedComicInfo/ArchiveFile.py class ArchiveFile (line 7) | class ArchiveFile: method __init__ (line 15) | def __init__(self, filename, mode='r', password=None): method __enter__ (line 32) | def __enter__(self): method __exit__ (line 35) | def __exit__(self, exc_type, exc_value, traceback): method namelist (line 39) | def namelist(self): method infolist (line 42) | def infolist(self): method getinfo (line 45) | def getinfo(self, name): method read (line 48) | def read(self, name): method open (line 51) | def open(self, name): method extract (line 56) | def extract(self, member, path=None, password=None): method extractall (line 61) | def extractall(self, path=None, members=None, password=None): FILE: MangaManager/src/Common/LoadedComicInfo/CoverActions.py class CoverActions (line 4) | class CoverActions(enum.Enum): FILE: MangaManager/src/Common/LoadedComicInfo/ILoadedComicInfo.py class ILoadedComicInfo (line 1) | class ILoadedComicInfo: FILE: MangaManager/src/Common/LoadedComicInfo/LoadedComicInfo.py class LoadedComicInfo (line 32) | class LoadedComicInfo(LoadedFileMetadata, LoadedFileCoverData, ILoadedCo... method _logging_extra (line 35) | def _logging_extra(self): method __init__ (line 38) | def __init__(self, path, comicinfo: ComicInfo = None, load_default_met... method get_template_values (line 53) | def get_template_values(self) -> dict: method get_template_filename (line 68) | def get_template_filename(self, input_template: str) -> str|None: method load_all (line 83) | def load_all(self): method load_metadata (line 98) | def load_metadata(self): method write_metadata (line 114) | def write_metadata(self, auto_unmark_changes=False): method convert_to_webp (line 124) | def convert_to_webp(self): method _export_metadata (line 128) | def _export_metadata(self) -> str: method _process (line 132) | def _process(self, write_metadata=False, do_convert_to_webp=False, **_): method _recompress (line 214) | def _recompress(self, zin, zout, write_metadata, do_convert_webp): method _move_image (line 310) | def _move_image(zin: zipfile.ZipFile, zout: zipfile.ZipFile, item_: zi... method _append_image (line 337) | def _append_image(zout, cover_path, is_backcover=False, do_convert_to_... FILE: MangaManager/src/Common/LoadedComicInfo/LoadedFileCoverData.py class LoadedFileCoverData (line 29) | class LoadedFileCoverData(ILoadedComicInfo): method get_cover_cache (line 45) | def get_cover_cache(self, is_backcover=False) -> ImageTk.PhotoImage | ... method cover_action (line 52) | def cover_action(self): method cover_action (line 56) | def cover_action(self, value: CoverActions): method backcover_action (line 66) | def backcover_action(self): method backcover_action (line 70) | def backcover_action(self, value: CoverActions): method new_cover_path (line 80) | def new_cover_path(self): method new_cover_path (line 84) | def new_cover_path(self, path): method new_backcover_path (line 98) | def new_backcover_path(self): method new_backcover_path (line 102) | def new_backcover_path(self, path): method load_cover_info (line 115) | def load_cover_info(self, load_images=True): method get_cover_image_bytes (line 144) | def get_cover_image_bytes(self, resized=False, back_cover=False) -> IO... FILE: MangaManager/src/Common/LoadedComicInfo/LoadedFileMetadata.py class LoadedFileMetadata (line 21) | class LoadedFileMetadata(ILoadedComicInfo): method cinfo_object (line 30) | def cinfo_object(self): method cinfo_object (line 34) | def cinfo_object(self, value: ComicInfo): method volume (line 38) | def volume(self): method chapter (line 43) | def chapter(self): method volume (line 48) | def volume(self, value): method chapter (line 52) | def chapter(self, value): method _load_metadata (line 55) | def _load_metadata(self): method reset_metadata (line 100) | def reset_metadata(self): FILE: MangaManager/src/Common/ResourceLoader.py class ResourceLoader (line 9) | class ResourceLoader: method get (line 15) | def get(filename): FILE: MangaManager/src/Common/errors.py class NoMetadataFileFound (line 1) | class NoMetadataFileFound(Exception): method __init__ (line 6) | def __init__(self, cbz_path): class MangaNotFoundError (line 10) | class MangaNotFoundError(Exception): method __init__ (line 14) | def __init__(self, source, manga_title): class EditedCinfoNotSet (line 19) | class EditedCinfoNotSet(RuntimeError): method __init__ (line 20) | def __init__(self, message=None): class CorruptedComicInfo (line 24) | class CorruptedComicInfo(Exception): method __init__ (line 29) | def __init__(self, cbz_path): class CancelComicInfoLoad (line 33) | class CancelComicInfoLoad(Exception): method __init__ (line 39) | def __init__(self): class CancelComicInfoSave (line 43) | class CancelComicInfoSave(Exception): method __init__ (line 49) | def __init__(self): class NoFilesSelected (line 53) | class NoFilesSelected(Exception): method __init__ (line 58) | def __init__(self): class BadZipFile (line 62) | class BadZipFile(Exception): method __init__ (line 67) | def __init__(self): class NoComicInfoLoaded (line 71) | class NoComicInfoLoaded(Exception): method __init__ (line 76) | def __init__(self, info=""): class NoModifiedCinfo (line 80) | class NoModifiedCinfo(Exception): method __init__ (line 85) | def __init__(self): class FailedBackup (line 89) | class FailedBackup(RuntimeError): method __init__ (line 94) | def __init__(self): class MissingRarTool (line 97) | class MissingRarTool(Exception): method __init__ (line 100) | def __init__(self): FILE: MangaManager/src/Common/naturalsorter.py function decompose_path_into_components (line 8) | def decompose_path_into_components(x): function natsort_key_with_path_support (line 23) | def natsort_key_with_path_support(x): FILE: MangaManager/src/Common/parser.py function _parse (line 74) | def _parse(patterns, group, filename): function parse_volume (line 83) | def parse_volume(filename: str) -> str: function parse_series (line 88) | def parse_series(filename: str) -> str: function parse_number (line 93) | def parse_number(filename: str) -> str: FILE: MangaManager/src/Common/progressbar.py class RepeatedTimer (line 11) | class RepeatedTimer(object): method __init__ (line 12) | def __init__(self, interval = 1): method register_callable (line 26) | def register_callable(self, function: callable): method unregister_callable (line 34) | def unregister_callable(self, function: callable): method _run (line 37) | def _run(self): method _call_hooks (line 42) | def _call_hooks(self): method start (line 49) | def start(self): method stop (line 55) | def stop(self): class ProgressBar (line 62) | class ProgressBar(abc.ABC): method __init__ (line 70) | def __init__(self): method set_template (line 87) | def set_template(self,new_value:str): method label_text (line 92) | def label_text(self): method percentage (line 101) | def percentage(self): method update_progress_label (line 104) | def update_progress_label(self): method _update (line 107) | def _update(self): method start (line 110) | def start(self,total): method stop (line 119) | def stop(self): method increase_processed (line 122) | def increase_processed(self): method increase_failed (line 128) | def increase_failed(self): method reset (line 132) | def reset(self): FILE: MangaManager/src/Common/terminalcolors.py class TerminalColors (line 1) | class TerminalColors: FILE: MangaManager/src/Common/utils.py function remove_text_inside_brackets (line 30) | def remove_text_inside_brackets(text, brackets="()[]"): function normalize_filename (line 49) | def normalize_filename(filename): function clean_filename (line 56) | def clean_filename(sourcestring, removestring=" %:/,.\\[]<>*?\""): function find_chapter (line 77) | def find_chapter(text): function fetch_chapter (line 85) | def fetch_chapter(text): function fetch_volume (line 90) | def fetch_volume(text): function obtain_cover_filename (line 95) | def obtain_cover_filename(file_list) -> (str, str): function get_new_webp_name (line 129) | def get_new_webp_name(currentName: str) -> str: function convert_to_webp (line 136) | def convert_to_webp(image_bytes_to_convert: IO[bytes]) -> bytes: function get_platform (line 152) | def get_platform(): class ShowPathTreeAsDict (line 166) | class ShowPathTreeAsDict: method display_tree (line 168) | def display_tree(self) -> int: method __init__ (line 180) | def __init__(self,paths: list, base_path = None): method _recurse (line 191) | def _recurse(self, parent_dic: dict, breaked_subpath): method get (line 209) | def get(self): method on_file (line 212) | def on_file(self, parent_dict: dict, breaked_subpath): method on_subfolder (line 215) | def on_subfolder(self, parent_dict: dict, subfolder): method _build_tree (line 218) | def _build_tree(self, parent, data): function get_elapsed_time (line 229) | def get_elapsed_time(start_time: float) -> str: function get_estimated_time (line 245) | def get_estimated_time(start_time: float, processed_files: int, total_fi... function open_folder (line 270) | def open_folder(folder_path, selected_file: str = None): function get_language_iso_list (line 288) | def get_language_iso_list(): function extract_folder_and_module (line 314) | def extract_folder_and_module(file_path): function match_pyfiles_with_foldername (line 320) | def match_pyfiles_with_foldername(file_path): function parse_bool (line 325) | def parse_bool(value: str) -> bool: FILE: MangaManager/src/DynamicLibController/extension_manager.py function extract_folder_and_module (line 15) | def extract_folder_and_module(file_path): function match_pyfiles_with_foldername (line 21) | def match_pyfiles_with_foldername(file_path): function load_extensions (line 30) | def load_extensions(extensions_directory,) -> list[IExtensionApp]: FILE: MangaManager/src/DynamicLibController/models/CoverSourceInterface.py class ICoverSource (line 6) | class ICoverSource(abc.ABC): method download (line 11) | def download(cls, identifier: str): method __init__ (line 15) | def __init__(self, master, super_=None, **kwargs): class Cover (line 27) | class Cover: FILE: MangaManager/src/DynamicLibController/models/ExtensionsInterface.py class IMMExtension (line 4) | class IMMExtension(abc.ABC): method save_settings (line 19) | def save_settings(self): FILE: MangaManager/src/DynamicLibController/models/IMetadataSource.py function _merge (line 12) | def _merge(value1, value2): class MLStripper (line 17) | class MLStripper(HTMLParser): method __init__ (line 18) | def __init__(self): method handle_data (line 25) | def handle_data(self, d): method get_data (line 28) | def get_data(self): class IMetadataSource (line 32) | class IMetadataSource(IMMExtension): method get_cinfo (line 42) | def get_cinfo(cls, comic_info_from_ui: ComicInfo) -> ComicInfo: method save_settings (line 45) | def save_settings(self): method trim (line 52) | def trim(value): method update_people_from_mapping (line 59) | def update_people_from_mapping(people: list[object], mapping, comicinf... method clean_description (line 80) | def clean_description(summary: str, remove_source: bool) -> str: method init_settings (line 108) | def init_settings(self): method __init__ (line 124) | def __init__(self): FILE: MangaManager/src/MetadataManager/CoverManager/CoverManager.py class ComicFrame (line 29) | class ComicFrame(CoverFrame): method __init__ (line 30) | def __init__(self, master, loaded_cinfo: LoadedComicInfo): class CoverManager (line 130) | class CoverManager(tkinter.Toplevel): method __init__ (line 136) | def __init__(self, master, super_: GUIApp = None, **kwargs): method redraw (line 163) | def redraw(self, event): method exit_btn (line 209) | def exit_btn(self): method serve_gui (line 214) | def serve_gui(self): method select_frame (line 295) | def select_frame(self, _, frame: ComicFrame, pos: str): method run_bulk_action (line 321) | def run_bulk_action(self, action: CoverActions): method clear_selection (line 376) | def clear_selection(self): method select_similar (line 394) | def select_similar(self): method _scan_images (line 422) | def _scan_images(self, x, lcinfo:LoadedComicInfo, comicframe, is_backc... method _compare_images (line 438) | def _compare_images(self, x, compared_image, comicframe, pos): method compare_image (line 445) | def compare_image(x, y, delta:float): FILE: MangaManager/src/MetadataManager/GUI/ControlManager.py class ControlManager (line 9) | class ControlManager: method add (line 15) | def add(self, widget: tkinter.Widget): method append (line 18) | def append(self, widget: tkinter.Widget): method toggle (line 21) | def toggle(self, enabled=True): method lock (line 28) | def lock(self): method unlock (line 31) | def unlock(self): FILE: MangaManager/src/MetadataManager/GUI/ExceptionWindow.py class ExceptionHandler (line 13) | class ExceptionHandler(logging.Handler): method __init__ (line 14) | def __init__(self, tree_widget): method emit (line 18) | def emit(self, record): class ExceptionFrame (line 35) | class ExceptionFrame(Frame): method __init__ (line 36) | def __init__(self, master=None, is_test=False, **kwargs): method update_handler_level (line 66) | def update_handler_level(self,*args): method clear_treeview (line 70) | def clear_treeview(self): method __del__ (line 74) | def __del__(self): FILE: MangaManager/src/MetadataManager/GUI/FileChooserWindow.py class DummyFile (line 14) | class DummyFile: method __str__ (line 16) | def __str__(self): class TreeAutocompleteCombobox (line 19) | class TreeAutocompleteCombobox(ttk.Combobox): method set_completion_list (line 20) | def set_completion_list(self,path, completion_list): method autocomplete (line 32) | def autocomplete(self, delta=0): method handle_keyrelease (line 56) | def handle_keyrelease(self, event): class TreeviewExplorerWidget (line 75) | class TreeviewExplorerWidget(ttk.Treeview): method __init__ (line 77) | def __init__(self,master, *_, **__): method nothing (line 90) | def nothing(self, *event): method _on_select (line 94) | def _on_select(self,*args): method clear (line 102) | def clear(self): method show_nested_items (line 108) | def show_nested_items(self, current_path,glob="*.cbz"): class FileChooser (line 126) | class FileChooser(tkinter.Toplevel): method __init__ (line 127) | def __init__(self, parent, initialdir=None,*_, **__): method update_suggestions (line 176) | def update_suggestions(self): method change_to_entry (line 184) | def change_to_entry(self, *_): method clear_search_chilren (line 197) | def clear_search_chilren(self, *_): method update_search_bar (line 206) | def update_search_bar(self, new_path): method on_treeview_select (line 240) | def on_treeview_select(self, *_): method get_selection (line 258) | def get_selection(self): method get_selected_files (line 262) | def get_selected_files(self, *_): method exit_btn (line 268) | def exit_btn(self): function askopenfiles (line 273) | def askopenfiles(parent, *args, **kwargs): function askdirectory (line 281) | def askdirectory(*args, **kwargs): FILE: MangaManager/src/MetadataManager/GUI/MessageBox.py class MessageBoxWidgetFactory (line 7) | class MessageBoxWidgetFactory: method yes_or_no (line 13) | def yes_or_no(parent, title, description): method showerror (line 22) | def showerror(parent, title, description): method showwarning (line 32) | def showwarning(parent, title, description): method get_onetime_messagebox (line 41) | def get_onetime_messagebox() -> Type[OneTimeMessageBox]: method get_box_button (line 45) | def get_box_button() -> Type[MessageBoxButton]: FILE: MangaManager/src/MetadataManager/GUI/OneTimeMessageBox.py class OneTimeMessageBox (line 10) | class OneTimeMessageBox(MessageBoxWidget): method __new__ (line 14) | def __new__(cls, mb_id, *args, **kwargs): method __init__ (line 24) | def __init__(self, mb_id=None, *args, **kwargs): method with_dontshowagain (line 29) | def with_dontshowagain(self): method prompt (line 34) | def prompt(self): FILE: MangaManager/src/MetadataManager/GUI/scrolledframe.py function bindings (line 13) | def bindings(widget, seq): function _funcid (line 17) | def _funcid(binding): function remove_binding (line 21) | def remove_binding(widget, seq, index=None, funcid=None): class ApplicationLevelBindManager (line 49) | class ApplicationLevelBindManager(object): method on_mousewheel (line 55) | def on_mousewheel(event): method mousewheel_bind (line 60) | def mousewheel_bind(widget): method mousewheel_unbind (line 64) | def mousewheel_unbind(): method init_mousewheel_binding (line 68) | def init_mousewheel_binding(master): method make_onmousewheel_cb (line 85) | def make_onmousewheel_cb(widget, orient, factor=1): class ScrolledFrame (line 117) | class ScrolledFrame(ttk.Frame): method __init__ (line 126) | def __init__(self, master=None, **kw): method reposition (line 173) | def reposition(self): method xview (line 180) | def xview(self, mode=None, value=None, units=None): method yview (line 201) | def yview(self, mode=None, value=None, units=None): method _reposition (line 220) | def _reposition(self, *_): method _getxview (line 223) | def _getxview(self): method _getyview (line 251) | def _getyview(self): method _scrollBothNow (line 282) | def _scrollBothNow(self): method _toggleHorizScrollbar (line 323) | def _toggleHorizScrollbar(self): method _toggleVertScrollbar (line 332) | def _toggleVertScrollbar(self): method configure (line 341) | def configure(self, cnf=None, **kw): method cget (line 353) | def cget(self, key): method _configure_mousewheel (line 361) | def _configure_mousewheel(self): FILE: MangaManager/src/MetadataManager/GUI/utils.py function validate_int (line 5) | def validate_int(value) -> bool: function center (line 15) | def center(win): FILE: MangaManager/src/MetadataManager/GUI/widgets/AutocompleteComboboxWidget.py class AutocompleteComboboxWidget (line 6) | class AutocompleteComboboxWidget(MMWidget): method __init__ (line 7) | def __init__(self, master, cinfo_name, label_text=None, default_values... method autocomplete (line 25) | def autocomplete(self, delta=0): method handle_keyrelease (line 49) | def handle_keyrelease(self, event): FILE: MangaManager/src/MetadataManager/GUI/widgets/ButtonWidget.py class ButtonWidget (line 5) | class ButtonWidget(tkinter.Button): method __init__ (line 6) | def __init__(self, tooltip=None,image=None, *args, **kwargs): FILE: MangaManager/src/MetadataManager/GUI/widgets/CanvasCoverWidget.py class CanvasCoverWidget (line 24) | class CanvasCoverWidget(Canvas): class CoverFrame (line 33) | class CoverFrame(Frame): method get_canvas (line 43) | def get_canvas(self, cover_else_backcover: bool = True) -> CanvasCover... method get_cinfo_cover_data (line 49) | def get_cinfo_cover_data(self): method resized (line 52) | def resized(self, event: Event): method __init__ (line 66) | def __init__(self, master): method cover_action (line 173) | def cover_action(self, loaded_cinfo: LoadedComicInfo = None, auto_trig... method backcover_action (line 223) | def backcover_action(self, loaded_cinfo: LoadedComicInfo = None, auto_... method clear (line 275) | def clear(self): method update_cover_image (line 290) | def update_cover_image(self, loadedcomicinfo_list: list[LoadedComicInf... method hide_actions (line 326) | def hide_actions(self): method display_action (line 333) | def display_action(self, _: str = None): method hide_back_image (line 354) | def hide_back_image(self): method show_back_image (line 358) | def show_back_image(self): method opencovers (line 362) | def opencovers(self): method display_next_cover (line 365) | def display_next_cover(self, event): method toggle_action_buttons (line 368) | def toggle_action_buttons(self, enabled=True): FILE: MangaManager/src/MetadataManager/GUI/widgets/ComboBoxWidget.py class ComboBoxWidget (line 7) | class ComboBoxWidget(MMWidget): method __init__ (line 8) | def __init__(self, master, cinfo_name:str, label_text=None, default_va... FILE: MangaManager/src/MetadataManager/GUI/widgets/FileMultiSelectWidget.py class FileMultiSelectWidget (line 11) | class FileMultiSelectWidget(Treeview): method __init__ (line 12) | def __init__(self, *args, **kwargs): method clear (line 29) | def clear(self): method select_all (line 32) | def select_all(self, *_): method get_selected (line 36) | def get_selected(self) -> list[LoadedComicInfo]: method insert (line 39) | def insert(self, loaded_cinfo: LoadedComicInfo, *args, **kwargs): method _on_select (line 46) | def _on_select(self, *_): method add_hook_item_selected (line 57) | def add_hook_item_selected(self, function: callable): method add_hook_item_inserted (line 60) | def add_hook_item_inserted(self, function: callable): method _call_hook_item_selected (line 63) | def _call_hook_item_selected(self, loaded_cinfo_list: list[LoadedComic... method _call_hook_item_inserted (line 66) | def _call_hook_item_inserted(self, loaded_comicinfo: LoadedComicInfo): method popup (line 69) | def popup(self, event): method open_in_explorer (line 85) | def open_in_explorer(self, event=None): method reset_loadedcinfo_changes (line 88) | def reset_loadedcinfo_changes(self, event=None): method _run_hook (line 92) | def _run_hook(source: list[callable], *args): FILE: MangaManager/src/MetadataManager/GUI/widgets/FormBundleWidget.py class FormBundleWidget (line 8) | class FormBundleWidget(Frame): method __init__ (line 22) | def __init__(self, master, mapper_fn,name=None, *_, **kwargs): method with_label (line 35) | def with_label(self, title, tooltip=""): method with_input (line 43) | def with_input(self, control: SettingControl, section: SettingSection): method build (line 52) | def build(self): method validate (line 62) | def validate(self): method format_output (line 77) | def format_output(self): FILE: MangaManager/src/MetadataManager/GUI/widgets/HyperlinkLabelWidget.py class HyperlinkLabelWidget (line 5) | class HyperlinkLabelWidget(Frame): method __init__ (line 6) | def __init__(self, master=None, text="", url="", url_text=None, **kwar... method open_url (line 18) | def open_url(self): method set_text (line 21) | def set_text(self, text): method set_url (line 24) | def set_url(self, url): FILE: MangaManager/src/MetadataManager/GUI/widgets/LongTextWidget.py class LongTextWidget (line 7) | class LongTextWidget(MMWidget): method __init__ (line 8) | def __init__(self, master, cinfo_name, label_text=None, width: int = N... FILE: MangaManager/src/MetadataManager/GUI/widgets/MMWidget.py class _LongText (line 9) | class _LongText: method __init__ (line 18) | def __init__(self, name=None): method set (line 22) | def set(self, value: str): method clear (line 34) | def clear(self): method get (line 44) | def get(self) -> str: method __str__ (line 54) | def __str__(self): class MMWidget (line 57) | class MMWidget(Frame): method __init__ (line 64) | def __init__(self, master,name): method set (line 67) | def set(self, value): method set_default (line 79) | def set_default(self): method get (line 82) | def get(self): method pack (line 85) | def pack(self, **kwargs): method grid (line 92) | def grid(self, row=None, column=None, **kwargs): method set_label (line 99) | def set_label(self, text, tooltip=None): FILE: MangaManager/src/MetadataManager/GUI/widgets/MessageBoxWidget.py class MessageBoxButton (line 7) | class MessageBoxButton: method __init__ (line 8) | def __init__(self, id, title): class MessageBoxWidget (line 13) | class MessageBoxWidget(Toplevel): method __init__ (line 24) | def __init__(self, *args, **kwargs): method with_icon (line 63) | def with_icon(self, icon_path): method with_title (line 73) | def with_title(self, title): method with_description (line 85) | def with_description(self, description): method with_content (line 90) | def with_content(self, content_frame: Frame): method with_actions (line 103) | def with_actions(self, action_buttons: list[MessageBoxButton]): method build (line 117) | def build(self): method prompt (line 124) | def prompt(self): method _set_selected_value (line 136) | def _set_selected_value(self, value): FILE: MangaManager/src/MetadataManager/GUI/widgets/OptionMenuWidget.py class OptionMenuWidget (line 11) | class OptionMenuWidget(MMWidget): method __init__ (line 12) | def __init__(self, master: tkinter.Frame, cinfo_name, label_text=None,... method update_listed_values (line 32) | def update_listed_values(self, default_selected, values) -> None: method get_options (line 36) | def get_options(self) -> list[str]: method append_first (line 51) | def append_first(self, value: str): method remove_first (line 54) | def remove_first(self): FILE: MangaManager/src/MetadataManager/GUI/widgets/ProgressBarWidget.py class ProgressBarWidget (line 10) | class ProgressBarWidget(ProgressBar): method __init__ (line 11) | def __init__(self, parent): method update_progress_label (line 49) | def update_progress_label(self): method _update (line 52) | def _update(self): FILE: MangaManager/src/MetadataManager/GUI/widgets/ScrolledFrameWidget.py class ScrolledFrameWidget (line 7) | class ScrolledFrameWidget(ScrolledFrame): method __init__ (line 8) | def __init__(self, master, *_, **kwargs): method create_frame (line 15) | def create_frame(self, **kwargs): FILE: MangaManager/src/MetadataManager/GUI/widgets/WidgetManager.py class WidgetManager (line 6) | class WidgetManager: method get_widget (line 9) | def get_widget(self, name) -> ComboBoxWidget | LongTextWidget | Option... method add_widget (line 12) | def add_widget(self, name, widget_frame: ComboBoxWidget | LongTextWidg... method __setattr__ (line 16) | def __setattr__(self, key, value): method clean_widgets (line 20) | def clean_widgets(self): method toggle_widgets (line 27) | def toggle_widgets(self, enabled=True): method get_tags (line 38) | def get_tags(self): FILE: MangaManager/src/MetadataManager/GUI/windows/AboutWindow.py function get_release_tag (line 14) | def get_release_tag() -> Versions: class AboutWindow (line 58) | class AboutWindow: method __init__ (line 62) | def __init__(self, parent): method close (line 100) | def close(self): FILE: MangaManager/src/MetadataManager/GUI/windows/DragAndDrop.py function extract_paths_from_string (line 4) | def extract_paths_from_string(input_string): class DragAndDropFilesApp (line 6) | class DragAndDropFilesApp(TkinterDnD.Tk): method __init__ (line 7) | def __init__(self): method on_drop (line 22) | def on_drop(self, event): FILE: MangaManager/src/MetadataManager/GUI/windows/LoadingWindow.py class LoadingWindow (line 9) | class LoadingWindow(tkinter.Toplevel): method __new__ (line 12) | def __new__(cls, total, *args, **kwargs): method __init__ (line 22) | def __init__(self, total): method is_abort (line 52) | def is_abort(self): method set_abort (line 54) | def set_abort(self,*_): method loaded_file (line 63) | def loaded_file(self, value: str): method finish_loading (line 68) | def finish_loading(self): FILE: MangaManager/src/MetadataManager/GUI/windows/MainWindow.py class MainWindow (line 24) | class MainWindow(GUIApp): method __init__ (line 32) | def __init__(self): method display_side_bar (line 62) | def display_side_bar(self) -> None: method display_menu_bar (line 91) | def display_menu_bar(self) -> None: method init_main_content_frame (line 136) | def init_main_content_frame(self) -> None: method display_main_content_widgets (line 171) | def display_main_content_widgets(self) -> None: method display_bottom_frame (line 338) | def display_bottom_frame(self): method on_file_selection_preview (line 353) | def on_file_selection_preview(self, *args): method on_drop (line 369) | def on_drop(self,event): FILE: MangaManager/src/MetadataManager/GUI/windows/SettingsWindow.py function template_validation (line 27) | def template_validation(key_list): function populate_default_settings (line 72) | def populate_default_settings(): class SettingsWindow (line 94) | class SettingsWindow: method __init__ (line 95) | def __init__(self, parent): method build_setting_entry (line 163) | def build_setting_entry(self, parent_frame, control: SettingControl, s... method build_setting_entries (line 174) | def build_setting_entries(self, parent_frame, settings, section): method save_settings (line 178) | def save_settings(self): method setting_control_to_widget (line 203) | def setting_control_to_widget(parent_frame: tkinter.Frame, control: Se... FILE: MangaManager/src/MetadataManager/MetadataManagerCLI.py function prompt_autocomplete (line 21) | def prompt_autocomplete(): function grouper (line 30) | def grouper(n, iterable, fillvalue=None): class bcolors (line 37) | class bcolors: function _ (line 54) | def _(event: prompt_toolkit.key_binding.KeyPressEvent): function _ (line 61) | def _(event: prompt_toolkit.key_binding.KeyPressEvent): function _ (line 70) | def _(event: prompt_toolkit.key_binding.KeyPressEvent): class App (line 87) | class App(MetadataManagerLib): method on_processed_item (line 88) | def on_processed_item(self, loaded_info: LoadedComicInfo): method on_manga_not_found (line 91) | def on_manga_not_found(self, exception, series_name): method __init__ (line 94) | def __init__(self, file_paths: list[str]): method _parse_lcinfo_list_to_gui (line 102) | def _parse_lcinfo_list_to_gui(self, loaded_cinfo_list) -> ComicInfo: method serve_ui (line 124) | def serve_ui(self): method restart (line 232) | def restart(self): method clear (line 235) | def clear(self): method quit (line 239) | def quit(self): method process (line 244) | def process(self): method tree_selected (line 254) | def tree_selected(self) -> int: method _is_valid_tool (line 260) | def _is_valid_tool(self, value): method on_badzipfile_error (line 264) | def on_badzipfile_error(self, exception, file_path): method on_corruped_metadata_error (line 267) | def on_corruped_metadata_error(self, exception, loaded_info: LoadedCom... method on_writing_error (line 270) | def on_writing_error(self, exception, loaded_info: LoadedComicInfo): method on_writing_exception (line 273) | def on_writing_exception(self, exception, loaded_info: LoadedComicInfo): FILE: MangaManager/src/MetadataManager/MetadataManagerGUI.py class GUIApp (line 32) | class GUIApp(Tk, MetadataManagerLib): method __init__ (line 45) | def __init__(self): method report_callback_exception (line 97) | def report_callback_exception(self, *_): method cinfo_tags (line 106) | def cinfo_tags(self): method selected_items (line 110) | def selected_items(self): method select_files (line 121) | def select_files(self): method select_folder (line 145) | def select_folder(self): method load_selected_files (line 162) | def load_selected_files(self,new_selection:list=None,is_event_dragdrop... method show_settings (line 190) | def show_settings(self): method show_about (line 193) | def show_about(self): method are_unsaved_changes (line 196) | def are_unsaved_changes(self, exist_unsaved_changes=False): method update_item_saved_status (line 206) | def update_item_saved_status(self, loaded_cinfo): method show_not_saved_indicator (line 218) | def show_not_saved_indicator(self, loaded_cinfo_list=None): method on_item_loaded (line 238) | def on_item_loaded(self, loaded_cinfo: LoadedComicInfo, cursor, total)... method on_processed_item (line 255) | def on_processed_item(self, loaded_info: LoadedComicInfo): method on_badzipfile_error (line 260) | def on_badzipfile_error(self, exception, file_path: LoadedComicInfo): ... method on_writing_exception (line 267) | def on_writing_exception(self, exception, loaded_info: LoadedComicInfo... method on_writing_error (line 273) | def on_writing_error(self, exception, loaded_info: LoadedComicInfo): ... method on_corruped_metadata_error (line 278) | def on_corruped_metadata_error(self, exception, loaded_info: LoadedCom... method on_manga_not_found (line 284) | def on_manga_not_found(self, exception, series_name): # pragma: no cover method on_missing_rar_tools (line 288) | def on_missing_rar_tools(self, exception): method _serialize_cinfolist_to_gui (line 300) | def _serialize_cinfolist_to_gui(self, loaded_cinfo_list=None): method _serialize_gui_to_cinfo (line 345) | def _serialize_gui_to_cinfo(self) -> ComicInfo: method process_gui_update (line 375) | def process_gui_update(self, old_selection: list[LoadedComicInfo], new... method fill_from_filename (line 385) | def fill_from_filename(self) -> None: method pre_process (line 429) | def pre_process(self) -> None: method _fill_filename (line 451) | def _fill_filename(self): method _fill_foldername (line 455) | def _fill_foldername(self): method _treeview_open_explorer (line 469) | def _treeview_open_explorer(self, file): method _treview_reset (line 473) | def _treview_reset(self, event=None): method display_extensions (line 476) | def display_extensions(self, parent_frame): method process_fetch_online (line 482) | def process_fetch_online(self, *_): method clean_selected (line 508) | def clean_selected(self): FILE: MangaManager/src/MetadataManager/MetadataManagerLib.py class _IMetadataManagerLib (line 19) | class _IMetadataManagerLib(abc.ABC): method on_item_loaded (line 20) | def on_item_loaded(self, loaded_cinfo: LoadedComicInfo,cursor,total): method on_badzipfile_error (line 27) | def on_badzipfile_error(self, exception, file_path): method on_processed_item (line 33) | def on_processed_item(self, loaded_info: LoadedComicInfo): method on_corruped_metadata_error (line 39) | def on_corruped_metadata_error(self, exception, loaded_info: LoadedCom... method on_writing_error (line 45) | def on_writing_error(self, exception, loaded_info: LoadedComicInfo): method on_writing_exception (line 52) | def on_writing_exception(self, exception, loaded_info: LoadedComicInfo): method on_manga_not_found (line 58) | def on_manga_not_found(self, exception, series_name): method on_missing_rar_tools (line 63) | def on_missing_rar_tools(self,exception): class MetadataManagerLib (line 68) | class MetadataManagerLib(_IMetadataManagerLib, ABC): method loaded_cinfo_list_to_process (line 90) | def loaded_cinfo_list_to_process(self) -> list[LoadedComicInfo]: method process (line 93) | def process(self): method merge_changed_metadata (line 128) | def merge_changed_metadata(self, loaded_cinfo_list: list[LoadedComicIn... method open_cinfo_list (line 176) | def open_cinfo_list(self, abort_load_check:callable,append_items=False... method preview_export (line 235) | def preview_export(self, loaded_cinfo): method fetch_online (line 243) | def fetch_online(self, partial_comic_info): FILE: MangaManager/src/MetadataManager/__init__.py function load_extensions (line 14) | def load_extensions(): function execute_gui (line 21) | def execute_gui(): FILE: MangaManager/src/Settings/SettingControl.py class SettingControl (line 7) | class SettingControl(abc.ABC): method __init__ (line 22) | def __init__(self, key, name, control_type, value='', tooltip='', vali... method set_values (line 34) | def set_values(self, values): FILE: MangaManager/src/Settings/SettingControlType.py class SettingControlType (line 4) | class SettingControlType(Enum): FILE: MangaManager/src/Settings/SettingSection.py class SettingSection (line 4) | class SettingSection: method __init__ (line 11) | def __init__(self, name, key, values=None): method get_control (line 18) | def get_control(self, key): FILE: MangaManager/src/Settings/Settings.py class Settings (line 11) | class Settings: method config_file (line 18) | def config_file(self): method __new__ (line 20) | def __new__(cls): method __init__ (line 31) | def __init__(self): method save (line 42) | def save(self): method load (line 47) | def load(self,override_settings_from=None): method get (line 63) | def get(self, section, key): method set_default (line 77) | def set_default(self, section, key, value): method get_default (line 83) | def get_default(self, section, key, default_value): method set (line 90) | def set(self, section, key, value): method _create_section (line 97) | def _create_section(self, section): method _load_test (line 100) | def _load_test(self): FILE: MangaManager/src/Settings/SettingsDefault.py class SettingHeading (line 4) | class SettingHeading(StrEnum): FILE: MangaManager/tests/Common/test_ComicInfo.py class ComicInfoTests (line 7) | class ComicInfoTests(unittest.TestCase): method test_sample_xml_isvalid (line 8) | def test_sample_xml_isvalid(self): method test_valid_xml (line 14) | def test_valid_xml(self): FILE: MangaManager/tests/Common/test_utils.py class MyTestCase (line 7) | class MyTestCase(unittest.TestCase): method test_update_people_from_mapping (line 8) | def test_update_people_from_mapping(self): FILE: MangaManager/tests/ExternalMetadataTests/test_AniList.py class TestSources (line 6) | class TestSources(unittest.TestCase): method test_AnilistReturnMatches (line 7) | def test_AnilistReturnMatches(self): method test_AnilistReturnMatches_url (line 19) | def test_AnilistReturnMatches_url(self): FILE: MangaManager/tests/LoadedComicInfo/test_Covers.py class LoadedCInfo_Utils (line 12) | class LoadedCInfo_Utils(unittest.TestCase): method test_CoverParsing (line 13) | def test_CoverParsing(self): class CoverHandling_Recompressing_Tests (line 29) | class CoverHandling_Recompressing_Tests(CBZManipulationTests): method setUp (line 30) | def setUp(self) -> None: method test_delete_cover (line 40) | def test_delete_cover(self): method test_delete_backcover (line 51) | def test_delete_backcover(self): method test_append_cover (line 62) | def test_append_cover(self): method test_append_backcover (line 74) | def test_append_backcover(self): method test_replace_cover (line 88) | def test_replace_cover(self): method test_replace_backcover (line 104) | def test_replace_backcover(self): FILE: MangaManager/tests/LoadedComicInfo/test_LoadedCInfo.py class LoadedComicInfo_MetadataTests (line 41) | class LoadedComicInfo_MetadataTests(unittest.TestCase): method setUp (line 49) | def setUp(self) -> None: method tearDown (line 87) | def tearDown(self) -> None: method test_simple_read (line 97) | def test_simple_read(self): method test_simple_write (line 104) | def test_simple_write(self): method test_simple_backup (line 126) | def test_simple_backup(self): method test_simple_backup_nometadata (line 143) | def test_simple_backup_nometadata(self): FILE: MangaManager/tests/LoadedComicInfo/test_LoadedCInfo_backup.py class LoadedComicInfo_SaveTests (line 41) | class LoadedComicInfo_SaveTests(unittest.TestCase): method setUp (line 49) | def setUp(self) -> None: method tearDown (line 79) | def tearDown(self) -> None: FILE: MangaManager/tests/LoadedComicInfo/test_moveto.py class MoveToTemplate (line 7) | class MoveToTemplate(unittest.TestCase): method test_template (line 8) | def test_template(self): FILE: MangaManager/tests/MetadataManagerTests/GUI/test_MetadataEditorGUI.py class UiToCinfoTest (line 29) | class UiToCinfoTest(TKinterTestCase): method setUp (line 32) | def setUp(self) -> None: method tearDown (line 38) | def tearDown(self) -> None: method test_all_ui_fields_loaded (line 48) | def test_all_ui_fields_loaded(self): method test_all_fields_map_to_cinfo (line 58) | def test_all_fields_map_to_cinfo(self): method test_full_flow (line 96) | def test_full_flow(self): class CinfoToUiTest (line 130) | class CinfoToUiTest(TKinterTestCase): method setUp (line 133) | def setUp(self) -> None: method tearDown (line 143) | def tearDown(self) -> None: method test_one_field_empty_should_not_be_overwritten_by_data_from_other_cinfo_with_field_filled (line 157) | def test_one_field_empty_should_not_be_overwritten_by_data_from_other_... class BulkLoadingTest (line 193) | class BulkLoadingTest(TKinterTestCase): method setUp (line 195) | def setUp(self) -> None: method tearDown (line 203) | def tearDown(self) -> None: method test_bulk_selection (line 217) | def test_bulk_selection(self): class GenericUITest (line 249) | class GenericUITest(TKinterTestCase): method setUp (line 250) | def setUp(self): method test_settings_window_correctly_displayed (line 254) | def test_settings_window_correctly_displayed(self): FILE: MangaManager/tests/MetadataManagerTests/GUI/test_dinamic_layouts.py class DinamicLayoutTests (line 21) | class DinamicLayoutTests(TKinterTestCase): method setUp (line 24) | def setUp(self) -> None: method tearDown (line 35) | def tearDown(self) -> None: method test_all_fields_are_populated (line 49) | def test_all_fields_are_populated(self): FILE: MangaManager/tests/MetadataManagerTests/GUI/test_fetch_metadata.py class FetchMetadataFlowTest (line 24) | class FetchMetadataFlowTest(TKinterTestCase): method test_fetch_online_button_flow (line 26) | def test_fetch_online_button_flow(self): FILE: MangaManager/tests/MetadataManagerTests/test_MetadataEditorCore.py class CoreTesting (line 18) | class CoreTesting(unittest.TestCase): method setUp (line 22) | def setUp(self) -> None: method tearDown (line 28) | def tearDown(self) -> None: method test (line 39) | def test(self): method test_selected_files_loaded (line 91) | def test_selected_files_loaded(self): method test_process_should_raise_exception_if_no_new_cinfo (line 99) | def test_process_should_raise_exception_if_no_new_cinfo(self): class ErrorHandlingTests (line 106) | class ErrorHandlingTests(unittest.TestCase): method setUp (line 112) | def setUp(self) -> None: method tearDown (line 118) | def tearDown(self) -> None: method test_load_files_should_handle_broken_zipfile (line 130) | def test_load_files_should_handle_broken_zipfile(self): method test_on_badzipfile_error (line 150) | def test_on_badzipfile_error(self): method test_on_writing_error (line 172) | def test_on_writing_error(self): method test_on_writing_exception (line 197) | def test_on_writing_exception(self): FILE: MangaManager/tests/Settings/test_Settings.py class SettingsTest (line 7) | class SettingsTest(unittest.TestCase): method tearDown (line 9) | def tearDown(self): method test_Settings_will_create_if_nothing_on_disk (line 14) | def test_Settings_will_create_if_nothing_on_disk(self): method test_Settings_will_set_values (line 18) | def test_Settings_will_set_values(self): method test_Settings_will_write_default_tag_if_not_exists (line 26) | def test_Settings_will_write_default_tag_if_not_exists(self): FILE: MangaManager/tests/common.py function create_dummy_files (line 17) | def create_dummy_files(nfiles): function create_test_cbz (line 27) | def create_test_cbz(nfiles, nimages=4, loaded_cinfo: LoadedComicInfo = N... class CBZManipulationTests (line 46) | class CBZManipulationTests(unittest.TestCase): method setUp (line 50) | def setUp(self) -> None: method tearDown (line 56) | def tearDown(self) -> None: class TKinterTestCase (line 70) | class TKinterTestCase(unittest.TestCase): method setUp (line 76) | def setUp(self): method tearDown (line 79) | def tearDown(self): method pump_events (line 87) | def pump_events(self): function parameterized_class (line 92) | def parameterized_class(attrs, input_values=None, classname_func=None, ... function custom_get_item (line 157) | def custom_get_item(key): class CustomConfigParser1 (line 164) | class CustomConfigParser1(configparser.ConfigParser): method __getitem__ (line 165) | def __getitem__(self, key): class CustomConfigParser2 (line 172) | class CustomConfigParser2(configparser.ConfigParser): method read (line 173) | def read(self, filenames, *args, **kwargs): function is_valid_xml (line 185) | def is_valid_xml(xml:str) -> bool: FILE: MangaManager/tests/test_comicinfo.py class LoadedCInfo_Utils (line 6) | class LoadedCInfo_Utils(unittest.TestCase): method test_ComicInfo_ToList_methods_work (line 7) | def test_ComicInfo_ToList_methods_work(self):