The official source code repository for the calibre ebook manager
This report presents the forensic synthetic code analysis of kovidgoyal/calibre, a Python project with 25,338 GitHub stars. SynthScan v2.0 examined 621,439 lines of code across 1739 source files, recording 6562 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 12.3 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6562 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup/build.py | 621 | except Exception: | STRING |
| MEDIUM | setup/build.py | 623 | print(f'Error while executing: {cmdline}\n') | STRING |
| LOW | setup/linux-installer.py | 613 | except Exception: | STRING |
| LOW⚡ | setup/linux-installer.py | 759 | except Exception: | STRING |
| LOW⚡ | setup/linux-installer.py | 769 | except Exception: | STRING |
| LOW⚡ | setup/linux-installer.py | 779 | except Exception: | STRING |
| LOW | setup/hosting.py | 121 | except Exception: | CODE |
| LOW | setup/hosting.py | 171 | except Exception: | CODE |
| LOW | setup/upload.py | 282 | except Exception: | CODE |
| LOW | setup/upload.py | 291 | except Exception: | CODE |
| LOW | setup/build_environment.py | 88 | except Exception: | CODE |
| LOW | setup/plugins_mirror.py | 48 | except Exception: | CODE |
| LOW | setup/plugins_mirror.py | 291 | except Exception: | CODE |
| LOW | setup/plugins_mirror.py | 303 | except Exception: | CODE |
| LOW | setup/plugins_mirror.py | 450 | except Exception: | CODE |
| LOW | setup/plugins_mirror.py | 690 | except Exception: | STRING |
| MEDIUM | setup/plugins_mirror.py | 160 | def load_plugins_index(): | CODE |
| LOW | setup/polib.py | 1508 | except Exception: | CODE |
| LOW | setup/__init__.py | 91 | except Exception: | CODE |
| LOW | setup/__init__.py | 108 | except Exception as err: | CODE |
| LOW | setup/win-ci.py | 26 | except Exception as err: | CODE |
| LOW | setup/unix-ci.py | 33 | except Exception as err: | CODE |
| LOW | setup/linux-installer.sh | 662 | except Exception: | STRING |
| LOW⚡ | setup/linux-installer.sh | 808 | except Exception: | STRING |
| LOW⚡ | setup/linux-installer.sh | 818 | except Exception: | STRING |
| LOW⚡ | setup/linux-installer.sh | 828 | except Exception: | STRING |
| LOW | setup/revendor.py | 31 | except Exception as err: | CODE |
| LOW | setup/git_commit_msg_hook.py | 48 | except Exception: | CODE |
| LOW | setup/resources.py | 185 | except Exception: | CODE |
| LOW | setup/resources.py | 198 | except Exception: | CODE |
| LOW | setup/parallel_build.py | 34 | except Exception as err: | CODE |
| LOW | manual/custom.py | 57 | except Exception as e: | CODE |
| LOW | manual/custom.py | 68 | except Exception as e: | CODE |
| LOW | manual/custom.py | 87 | except Exception: | CODE |
| LOW | manual/template_ref_generate.py | 80 | except Exception as e: | STRING |
| LOW | manual/plugin_examples/editor_demo/main.py | 54 | except Exception: | CODE |
| LOW | bypy/windows/site.py | 84 | except Exception: | CODE |
| LOW | src/calibre/rpdb.py | 98 | except Exception: | CODE |
| LOW | src/calibre/startup.py | 87 | except Exception: | CODE |
| LOW | src/calibre/startup.py | 157 | except Exception: | CODE |
| LOW | src/calibre/startup.py | 162 | except Exception: | CODE |
| LOW | src/calibre/startup.py | 196 | except Exception: | CODE |
| MEDIUM | src/calibre/startup.py | 126 | def spawnv_passfds(path, args, passfds): | CODE |
| LOW | src/calibre/ptempfile.py | 60 | except Exception: | CODE |
| LOW | src/calibre/ptempfile.py | 230 | except Exception: | CODE |
| MEDIUM | src/calibre/ptempfile.py | 227 | def __del__(self): | CODE |
| LOW | src/calibre/constants.py | 58 | except Exception: | CODE |
| LOW | src/calibre/constants.py | 95 | except Exception: | CODE |
| LOW | src/calibre/constants.py | 111 | except Exception: | CODE |
| LOW | src/calibre/constants.py | 193 | except Exception: | CODE |
| LOW | src/calibre/constants.py | 347 | except Exception as err: | CODE |
| LOW | src/calibre/constants.py | 396 | except Exception: | CODE |
| LOW | src/calibre/constants.py | 410 | except Exception: | CODE |
| MEDIUM | src/calibre/constants.py | 406 | def cleanup_cdir(): | CODE |
| LOW | src/calibre/__init__.py | 276 | except Exception: | CODE |
| LOW | src/calibre/__init__.py | 304 | except Exception: | CODE |
| LOW⚡ | src/calibre/__init__.py | 520 | except Exception: | CODE |
| LOW⚡ | src/calibre/__init__.py | 524 | except Exception: | CODE |
| LOW⚡ | src/calibre/__init__.py | 527 | except Exception: | CODE |
| LOW | src/calibre/__init__.py | 538 | except Exception: | CODE |
| 2425 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 63 | CODE | |
| LOW | setup/build.py | 89 | CODE | |
| LOW | setup/build.py | 128 | CODE | |
| LOW | setup/build.py | 243 | CODE | |
| LOW | setup/linux-installer.py | 461 | CODE | |
| LOW | setup/linux-installer.py | 583 | CODE | |
| LOW | setup/hosting.py | 262 | CODE | |
| LOW | setup/hosting.py | 183 | CODE | |
| LOW | setup/hyphenation.py | 24 | CODE | |
| LOW | setup/hyphenation.py | 85 | CODE | |
| LOW | setup/check.py | 112 | CODE | |
| LOW | setup/upload.py | 320 | CODE | |
| LOW | setup/build_environment.py | 20 | CODE | |
| LOW | setup/plugins_mirror.py | 103 | CODE | |
| LOW | setup/plugins_mirror.py | 173 | CODE | |
| LOW | setup/plugins_mirror.py | 216 | CODE | |
| LOW | setup/plugins_mirror.py | 244 | CODE | |
| LOW | setup/plugins_mirror.py | 388 | CODE | |
| LOW | setup/polib.py | 156 | CODE | |
| LOW | setup/polib.py | 455 | CODE | |
| LOW | setup/polib.py | 989 | CODE | |
| LOW | setup/polib.py | 1313 | CODE | |
| LOW | setup/polib.py | 1547 | CODE | |
| LOW | setup/polib.py | 1636 | CODE | |
| LOW | setup/polib.py | 1705 | CODE | |
| LOW | setup/wincross.py | 159 | CODE | |
| LOW | setup/wincross.py | 218 | CODE | |
| LOW | setup/wincross.py | 311 | CODE | |
| LOW | setup/wincross.py | 420 | CODE | |
| LOW | setup/wincross.py | 54 | CODE | |
| LOW | setup/translations.py | 108 | CODE | |
| LOW | setup/translations.py | 152 | CODE | |
| LOW | setup/translations.py | 344 | CODE | |
| LOW | setup/translations.py | 390 | CODE | |
| LOW | setup/translations.py | 485 | CODE | |
| LOW | setup/translations.py | 531 | CODE | |
| LOW | setup/translations.py | 677 | CODE | |
| LOW | setup/git_hooks.py | 84 | CODE | |
| LOW | setup/win-ci.py | 94 | CODE | |
| LOW | setup/vcvars.py | 85 | CODE | |
| LOW | setup/unix-ci.py | 277 | CODE | |
| LOW | setup/changelog.py | 117 | CODE | |
| LOW | setup/piper.py | 24 | CODE | |
| LOW | setup/resources.py | 104 | CODE | |
| LOW | setup/install.py | 254 | CODE | |
| LOW | setup/parallel_build.py | 51 | CODE | |
| LOW | setup/parallel_build.py | 76 | CODE | |
| LOW | setup/gui.py | 24 | CODE | |
| LOW | setup/publish.py | 292 | CODE | |
| LOW | manual/custom.py | 340 | CODE | |
| LOW | manual/template_ref_generate.py | 53 | CODE | |
| LOW | manual/plugin_examples/editor_demo/main.py | 70 | CODE | |
| LOW | .github/workflows/macos_crash_report.py | 274 | CODE | |
| LOW | .github/workflows/macos_crash_report.py | 309 | CODE | |
| LOW | .github/workflows/macos_crash_report.py | 364 | CODE | |
| LOW | bypy/macos/__main__.py | 287 | CODE | |
| LOW | bypy/macos/__main__.py | 666 | CODE | |
| LOW | bypy/macos/__main__.py | 724 | CODE | |
| LOW | bypy/linux/site.py | 20 | CODE | |
| LOW | bypy/linux/__main__.py | 97 | CODE | |
| 1674 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/templates/kobo.js | 114 | function paginateAndMaintainProgress() | CODE |
| LOW | resources/templates/kobo.js | 199 | function estimateFirstAnchorForPageNumber(page) | CODE |
| LOW | resources/templates/kobo.js | 219 | function estimatePageNumberForAnchor(spanId) | CODE |
| LOW | setup/build.py | 683 | def create_sip_build_skeleton(self, src_dir, ext): | STRING |
| LOW | setup/linux-installer.py | 583 | def get_https_resource_securely(url, timeout=60, max_redirects=5, ssl_version=None): | STRING |
| LOW | setup/linux-installer.py | 802 | def check_for_recent_freetype(): | STRING |
| LOW | setup/translations.py | 140 | def get_content_server_strings(self): | CODE |
| LOW | setup/translations.py | 390 | def compile_main_translations(self): | CODE |
| LOW | setup/translations.py | 485 | def compile_content_server_translations(self): | CODE |
| LOW | setup/translations.py | 531 | def _compile_website_translations(self, name='website', threshold=50): | CODE |
| LOW⚡ | setup/translations.py | 586 | def compile_website_translations(self): | CODE |
| LOW⚡ | setup/translations.py | 595 | def compile_changelog_translations(self): | CODE |
| LOW⚡ | setup/translations.py | 598 | def compile_user_manual_translations(self): | CODE |
| LOW | setup/translations.py | 677 | def check_for_user_manual_errors(self): | CODE |
| LOW | setup/vcvars.py | 17 | def get_program_files_location(which=CSIDL_PROGRAM_FILESX86): | CODE |
| LOW | setup/browser_data.py | 13 | def download_from_calibre_server(url): | CODE |
| LOW | setup/linux-installer.sh | 632 | def get_https_resource_securely(url, timeout=60, max_redirects=5, ssl_version=None): | STRING |
| LOW | setup/linux-installer.sh | 851 | def check_for_recent_freetype(): | STRING |
| LOW | manual/custom.py | 226 | def generate_ebook_convert_help(preamble, app): | STRING |
| LOW | manual/template_ref_generate.py | 53 | def generate_template_language_help(language, log): | STRING |
| LOW | .github/workflows/macos_crash_report.py | 364 | def application_specific_information(self) -> str | None: | CODE |
| LOW | .github/workflows/macos_crash_report.py | 427 | def get_crash_report_from_file(crash_report_file: IO) -> CrashReportBase: | CODE |
| LOW | bypy/linux/site.py | 20 | def setup_openssl_environment(): | CODE |
| LOW | bypy/windows/wix.py | 88 | def get_components_from_files(env): | CODE |
| LOW | src/calibre/constants.py | 471 | def get_windows_user_locale_name(): | CODE |
| LOW | src/calibre/constants.py | 475 | def get_windows_number_formats(): | CODE |
| LOW | src/calibre/gui_launch.py | 48 | def register_with_default_programs(): | STRING |
| LOW | src/calibre/gui_launch.py | 77 | def is_possible_media_pack_error(e): | STRING |
| LOW | src/calibre/test_build.py | 594 | def test_webengine_worker_main(): | CODE |
| LOW⚡ | src/calibre/linux.py | 855 | def setup_desktop_integration(self): # {{{ | CODE |
| LOW⚡ | src/calibre/linux.py | 864 | def do_setup_desktop_integration(self): | CODE |
| LOW | src/calibre/scraper/test_fetch_backend.py | 97 | def test_recipe_browser_webengine(self): | CODE |
| LOW | src/calibre/ebooks/html_transform_rules.py | 444 | def transform_conversion_book(oeb, opts, serialized_rules): | CODE |
| LOW | src/calibre/ebooks/html_transform_rules.py | 564 | def test_html_transform_actions(self): | STRING |
| LOW | src/calibre/ebooks/chardet.py | 53 | def strip_encoding_declarations(raw, limit=50*1024, preserve_newlines=False): | CODE |
| LOW | src/calibre/ebooks/chardet.py | 72 | def replace_encoding_declarations(raw, enc='utf-8', limit=50*1024): | CODE |
| LOW | src/calibre/ebooks/__init__.py | 55 | def extract_cover_from_embedded_svg(html, base, log): | CODE |
| LOW⚡ | src/calibre/ebooks/__init__.py | 97 | def render_html_svg_workaround(path_to_html, log, width=1200, height=1600, root=''): | CODE |
| LOW | src/calibre/ebooks/html_entities.py | 2139 | def entity_to_unicode_in_python(match, exceptions=(), encoding='cp1252', result_exceptions={}): | CODE |
| LOW | src/calibre/ebooks/html_entities.py | 2179 | def test_html_entity_replacement(self): | CODE |
| LOW⚡ | src/calibre/ebooks/css_transform_rules.py | 128 | def parse_css_length_or_number(raw, default_unit=None): | CODE |
| LOW | src/calibre/ebooks/lrf/html/convert_from.py | 1794 | def remove_unused_target_blocks(self): | CODE |
| LOW | src/calibre/ebooks/lrf/html/table.py | 199 | def text_block_preferred_width(self, tb, debug=False): | CODE |
| LOW | src/calibre/ebooks/txt/markdownml.py | 93 | def prepare_string_for_markdown(self, txt): | CODE |
| LOW | src/calibre/ebooks/txt/processor.py | 137 | def convert_markdown_with_metadata(txt, title='', extensions=DEFAULT_MD_EXTENSIONS): | CODE |
| LOW⚡ | src/calibre/ebooks/txt/processor.py | 186 | def separate_paragraphs_single_line(txt): | CODE |
| LOW⚡ | src/calibre/ebooks/txt/processor.py | 191 | def separate_paragraphs_print_formatted(txt): | CODE |
| LOW⚡ | src/calibre/ebooks/txt/processor.py | 196 | def separate_hard_scene_breaks(txt): | CODE |
| LOW | src/calibre/ebooks/txt/processor.py | 358 | def get_images_from_polyglot_text(txt: str, base_dir: str = '', file_ext: str = 'txt') -> set: | CODE |
| LOW | src/calibre/ebooks/txt/textileml.py | 221 | def prepare_string_for_textile(self, txt): | CODE |
| LOW | src/calibre/ebooks/mobi/utils.py | 643 | def convert_color_for_font_tag(val): | CODE |
| LOW | src/calibre/ebooks/mobi/reader/markup.py | 262 | def insert_images_into_markup(parts, resource_map, log): | CODE |
| LOW | src/calibre/ebooks/mobi/reader/mobi6.py | 804 | def warn_about_trailing_entry_corruption(self): | STRING |
| LOW | src/calibre/ebooks/mobi/writer8/toc.py | 35 | def find_previous_calibre_inline_toc(oeb): | STRING |
| LOW | src/calibre/ebooks/mobi/writer8/index.py | 115 | def calculate_control_bytes_for_each_entry(cls, entries): | STRING |
| LOW | src/calibre/ebooks/mobi/writer8/skeleton.py | 132 | def calculate_insert_positions(self): | CODE |
| LOW | src/calibre/ebooks/mobi/writer8/tbs.py | 114 | def encode_strands_as_sequences(strands, tbs_type=8): | CODE |
| LOW | src/calibre/ebooks/mobi/writer8/tbs.py | 195 | def apply_trailing_byte_sequences(index_table, records, text_record_lengths): | CODE |
| LOW | src/calibre/ebooks/mobi/writer8/main.py | 254 | def replace_internal_links_with_placeholders(self): | CODE |
| LOW | src/calibre/ebooks/mobi/writer2/indexer.py | 832 | def calculate_trailing_byte_sequences(self): | CODE |
| 1099 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setup/linux-installer.py | 647 | stdout=null, stdin=subprocess.PIPE, close_fds=True, preexec_fn=lambda: | STRING |
| HIGH | icons/icns/make_iconsets.py | 145 | subprocess.check_call(['ssh', 'ox', 'sh', '-c', '~/bin/update-calibre && python3 ~/calibre-src/icons/icns/make_i | CODE |
| HIGH | src/calibre/linux.py | 461 | _zip_cache_list=( ${{(f)"$(zipinfo -1 $_zip_cache_name 2>/dev/null)"}} ) | CODE |
| HIGH | src/calibre/linux.py | 466 | _multi_parts / _zip_cache_list && return 0 | CODE |
| HIGH⚡ | src/calibre/linux.py | 648 | pattern="$(basename ${pattern} 2> /dev/null)" | CODE |
| HIGH⚡ | src/calibre/linux.py | 649 | search="$(dirname ${search} 2> /dev/null)" | CODE |
| HIGH⚡ | src/calibre/linux.py | 657 | listing="$(ebook-device ls ${search} 2>/dev/null)" | CODE |
| HIGH | src/calibre/ebooks/covers.py | 300 | mem = {f:getattr(obj, f, null) for f in fields} | STRING |
| HIGH | src/calibre/ebooks/covers.py | 305 | if val is null: | STRING |
| HIGH | src/calibre/ebooks/render_html.py | 42 | default_log.warn(f'Blocking URL request {qurl.toString()} as it is not for a resource related to the HTML fi | CODE |
| HIGH | src/calibre/ebooks/pdf/html_writer.py | 352 | self.log.warn(f'Blocking URL request {qurl.toString()} as it is not for a resource in the book') | CODE |
| HIGH | src/calibre/ebooks/oeb/polish/container.py | 537 | ans = self.href_to_name_cache.get(key, null) | CODE |
| HIGH | src/calibre/ebooks/oeb/polish/container.py | 538 | if ans is null: | CODE |
| HIGH | src/calibre/ebooks/rtf2xml/pict.py | 144 | self.__write_pic_obj.write('{\\rtf1 \n{\\fonttbl\\f0\\null;} \n') | CODE |
| HIGH | src/calibre/ebooks/conversion/preprocess.py | 137 | percent is the percentage of lines that should be in a single bucket to return true | STRING |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 378 | "rec_index": 29, "#extra#": null, | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 381 | {"number_format": null}, "search_terms": | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 386 | "custom_column_12", "is_multiple": null, | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 391 | "rec_index": 26, "#extra#": null, | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 400 | "is_multiple": null, "is_category": true}"/> | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 405 | "#extra#": null, "colnum": 13, | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 432 | "is_multiple": null, "is_category": false}"/> | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 436 | "rec_index": 30, "#extra#": null, | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 444 | "custom_column_1", "is_multiple": null, | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 478 | "rec_index": 34, "#extra#": null, | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 486 | "is_multiple": null, "is_category": false}"/> | CODE |
| HIGH⚡ | src/calibre/ebooks/metadata/opf3_test.py | 490 | "rec_index": 28, "#extra#": null, | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 416 | "is_multiple": null, "is_category": false}"/> | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 420 | "rec_index": 25, "#extra#": null, | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 457 | "custom_column_5", "is_multiple": null, | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 462 | "rec_index": 33, "#extra#": null, | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 501 | "is_multiple": null, "is_category": true}"/> | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 505 | "rec_index": 27, "#extra#": null, | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 517 | "is_multiple": null, "is_category": false}"/> | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 521 | "rec_index": 22, "#extra#": null, | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 537 | "rec_index": 24, "#extra#": null, | CODE |
| HIGH | src/calibre/ebooks/metadata/opf3_test.py | 548 | "custom_column_2", "is_multiple": null, | CODE |
| HIGH | src/calibre/ebooks/docx/fields.py | 64 | last_option = field_map.get(token[1], null) | CODE |
| HIGH | src/calibre/ebooks/docx/fields.py | 73 | ans.pop(null, None) | CODE |
| HIGH | src/calibre/web/site_parsers/nytimes.py | 210 | 'null}}', | CODE |
| HIGH | src/calibre/utils/forked_map.py | 124 | stack.push(w) | CODE |
| HIGH | src/calibre/utils/rapydscript.py | 109 | return null; | CODE |
| HIGH | src/calibre/utils/winreg/lib.py | 59 | def __init__(self, name, typ, default=null, in_arg=True): | CODE |
| HIGH | src/calibre/utils/winreg/lib.py | 61 | if default is null: | CODE |
| HIGH | src/calibre/utils/winreg/dde.py | 99 | def __init__(self, name, typ, default=null, in_arg=True): | CODE |
| HIGH | src/calibre/utils/winreg/dde.py | 101 | if default is null: | CODE |
| HIGH | src/calibre/gui2/widgets2.py | 402 | self.undo_stack.push(cmd) | CODE |
| HIGH | src/calibre/gui2/widgets2.py | 679 | if not qurl.scheme() and qurl.hasFragment() and qurl.toString().startswith('#'): | CODE |
| HIGH | src/calibre/gui2/__init__.py | 1575 | cmd = [x.replace('%u', qurl.toString()) for x in opener] | CODE |
| HIGH | src/calibre/gui2/comments_editor.py | 1259 | block_len = block.length() # includes block separator | CODE |
| HIGH | src/calibre/gui2/comments_editor.py | 1282 | flen = frag.length() | CODE |
| HIGH | src/calibre/gui2/qt_file_dialogs.py | 119 | return url.toString() | CODE |
| HIGH | src/calibre/gui2/tweak_book/preview.py | 292 | if (settings.bg || settings.fg || settings.link) using_custom_colors = true; | CODE |
| HIGH | src/calibre/gui2/tweak_book/preview.py | 293 | if (settings.is_dark_theme && using_custom_colors) { css = ':root { color-scheme: dark; }' + css; } | CODE |
| HIGH | src/calibre/gui2/tweak_book/preview.py | 363 | prints('Blocking navigation request to:', url.toString()) | STRING |
| HIGH | src/calibre/gui2/tweak_book/check_links.py | 160 | url = qurl.toString() | CODE |
| HIGH | src/calibre/gui2/tweak_book/editor/canvas.py | 276 | self.undo_stack.push(Replace(x.toImage(), _('Drop image'), self)) | CODE |
| HIGH | src/calibre/gui2/tweak_book/editor/canvas.py | 285 | self.undo_stack.push(Replace(img, _('Drop image'), self)) | CODE |
| HIGH | src/calibre/gui2/tweak_book/editor/canvas.py | 381 | self.undo_stack.push(Replace(img, _('Paste image'), self)) | CODE |
| HIGH⚡ | src/calibre/gui2/tweak_book/editor/canvas.py | 403 | self.undo_stack.push(Trim(self)) | CODE |
| 59 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/calibre/ebooks/txt/markdownml.py | 0 | @elem: the element in the etree that we are working on. @stylizer: the style information attached to the element. | STRING |
| HIGH | src/calibre/ebooks/txt/textileml.py | 0 | @elem: the element in the etree that we are working on. @stylizer: the style information attached to the element. | STRING |
| HIGH | src/calibre/ebooks/htmlz/oeb2html.py | 0 | @elem: the element in the etree that we are working on. @stylizer: the style information attached to the element. | STRING |
| HIGH | src/calibre/ebooks/mobi/reader/headers.py | 0 | remove all duplicates from vals, while preserving order. | STRING |
| HIGH | src/calibre/ebooks/metadata/odt.py | 0 | remove all duplicates from vals, while preserving order. | STRING |
| HIGH | src/calibre/ebooks/metadata/opf3.py | 0 | remove all duplicates from vals, while preserving order. | STRING |
| HIGH | src/calibre/gui2/tweak_book/preview.py | 0 | remove all duplicates from vals, while preserving order. | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/paragraph_def.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/old_rtf.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/body_styles.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/table_info.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/sections.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/paragraphs.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/add_brackets.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/fields_large.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/fields_small.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/styles.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/table.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/info.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/inline.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/colors.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_borders.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/list_numbers.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/convert_to_tags.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/headings_to_sections.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/preamble_div.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/make_lists.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_styles.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/fonts.py | 0 | required: 'file' optional: 'copy'-- whether to make a copy of result for debugging 'temp_dir' --where to output temporar | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_borders.py | 0 | form lists. use rtf's own formatting to determine if a paragraph definition is part of a list. use indents to determine | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/make_lists.py | 0 | form lists. use rtf's own formatting to determine if a paragraph definition is part of a list. use indents to determine | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_styles.py | 0 | form lists. use rtf's own formatting to determine if a paragraph definition is part of a list. use indents to determine | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_borders.py | 0 | required: nothing return: nothing logic: the self.__end_list is a list of tokens that will force a list to end. likewise | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/headings_to_sections.py | 0 | required: nothing return: nothing logic: the self.__end_list is a list of tokens that will force a list to end. likewise | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/make_lists.py | 0 | required: nothing return: nothing logic: the self.__end_list is a list of tokens that will force a list to end. likewise | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_styles.py | 0 | required: nothing return: nothing logic: the self.__end_list is a list of tokens that will force a list to end. likewise | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_borders.py | 0 | required: line -- the line of current text. return: nothing logic: you are in a list, but in the middle of a paragraph d | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/make_lists.py | 0 | required: line -- the line of current text. return: nothing logic: you are in a list, but in the middle of a paragraph d | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_styles.py | 0 | required: line -- the line of current text. return: nothing logic: you are in a list, but in the middle of a paragraph d | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_borders.py | 0 | required: self, line returns: nothing logic look for the start of a paragraph definition. if one is found, check if it c | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/headings_to_sections.py | 0 | required: self, line returns: nothing logic look for the start of a paragraph definition. if one is found, check if it c | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/make_lists.py | 0 | required: self, line returns: nothing logic look for the start of a paragraph definition. if one is found, check if it c | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_styles.py | 0 | required: self, line returns: nothing logic look for the start of a paragraph definition. if one is found, check if it c | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_borders.py | 0 | required: nothing returns: original file will be changed logic: | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/headings_to_sections.py | 0 | required: nothing returns: original file will be changed logic: | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/make_lists.py | 0 | required: nothing returns: original file will be changed logic: | STRING |
| HIGH | src/calibre/ebooks/rtf2xml/group_styles.py | 0 | required: nothing returns: original file will be changed logic: | STRING |
| HIGH | src/calibre/ebooks/metadata/tag_mapper.py | 0 | remove all duplicates from vals, while preserving order. kmap must be a callable that returns a hashable value for every | STRING |
| HIGH | src/calibre/ebooks/metadata/xmp.py | 0 | remove all duplicates from vals, while preserving order. kmap must be a callable that returns a hashable value for every | STRING |
| HIGH | src/calibre/ebooks/metadata/author_mapper.py | 0 | remove all duplicates from vals, while preserving order. kmap must be a callable that returns a hashable value for every | STRING |
| HIGH | src/calibre/spell/import_from.py | 0 | remove all duplicates from vals, while preserving order. kmap must be a callable that returns a hashable value for every | STRING |
| HIGH | src/calibre/gui2/dialogs/opml.py | 0 | remove all duplicates from vals, while preserving order. kmap must be a callable that returns a hashable value for every | STRING |
| HIGH | src/calibre/db/write.py | 0 | remove all duplicates from vals, while preserving order. kmap must be a callable that returns a hashable value for every | STRING |
| HIGH | src/calibre/ebooks/metadata/book/base.py | 0 | a string representation of this object, suitable for printing to console | STRING |
| HIGH | src/calibre/devices/kobo/books.py | 0 | a string representation of this object, suitable for printing to console | STRING |
| HIGH | src/calibre/devices/kobo/bookmark.py | 0 | a string representation of this object, suitable for printing to console | STRING |
| HIGH | src/calibre/ebooks/pdb/ereader/reader132.py | 0 | the first record in the file is always the header record. it holds information related to the location of text, images, | STRING |
| HIGH | src/calibre/ebooks/pdb/ereader/reader202.py | 0 | the first record in the file is always the header record. it holds information related to the location of text, images, | STRING |
| HIGH | src/calibre/ebooks/pdb/palmdoc/reader.py | 0 | the first record in the file is always the header record. it holds information related to the location of text, images, | STRING |
| HIGH | src/calibre/ebooks/pdb/ztxt/reader.py | 0 | the first record in the file is always the header record. it holds information related to the location of text, images, | STRING |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup/linux-installer.py | 4 | CODE | |
| LOW | setup/linux-installer.py | 4 | CODE | |
| LOW | setup/linux-installer.py | 4 | CODE | |
| LOW | setup/linux-installer.py | 4 | CODE | |
| LOW | setup/commands.py | 74 | CODE | |
| LOW | bypy/windows/__main__.py | 18 | CODE | |
| LOW | src/calibre/test_build.py | 113 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/BeautifulSoup.py | 6 | CODE | |
| LOW | src/calibre/ebooks/oeb/polish/tests/main.py | 16 | CODE | |
| LOW | src/calibre/ebooks/conversion/plumber.py | 1038 | CODE | |
| LOW | src/calibre/ebooks/conversion/plugins/pdf_output.py | 154 | CODE | |
| LOW | src/calibre/ebooks/metadata/opf3_test.py | 61 | CODE | |
| LOW | src/calibre/ebooks/metadata/opf3_test.py | 61 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/edelweiss.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/edelweiss.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/edelweiss.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/edelweiss.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/openlibrary.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/openlibrary.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/openlibrary.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/openlibrary.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/__init__.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/__init__.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/__init__.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/__init__.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google_images.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google_images.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google_images.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google_images.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google.py | 4 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google.py | 4 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google.py | 4 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/google.py | 4 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/test.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/test.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/test.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/test.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/prefs.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/prefs.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/prefs.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/prefs.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/covers.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/covers.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/covers.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/covers.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/base.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/base.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/base.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/base.py | 3 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/search_engines.py | 5 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/search_engines.py | 5 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/search_engines.py | 5 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/search_engines.py | 5 | CODE | |
| 240 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Changelog.txt | 1 | # vim: ft=yaml | COMMENT |
| LOW | resources/calibre-portable.sh | 1 | #!/bin/bash | COMMENT |
| LOW | resources/calibre-portable.sh | 21 | # this script file). This structure can also be used when | COMMENT |
| LOW | resources/calibre-portable.sh | 41 | # - calibre-portable.sh to run the Linux version | COMMENT |
| LOW | resources/calibre-portable.sh | 121 | # Create or read configuration file. | COMMENT |
| LOW | resources/calibre-portable.sh | 141 | # | COMMENT |
| LOW | resources/calibre-portable.sh | 161 | # -- library is on a (slow) network drive. Putting the metadata.db | COMMENT |
| LOW | resources/calibre-portable.sh | 181 | # -- at the bottom of the calibre main screen. | COMMENT |
| LOW | resources/calibre-portable.sh | 201 | # | COMMENT |
| LOW | resources/calibre-portable.sh | 221 | ################################################################ | COMMENT |
| LOW | resources/calibre-portable.sh | 241 | # | COMMENT |
| LOW | resources/default_tweaks.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | resources/default_tweaks.py | 21 | # a number - Assign that number always. The number is not in quotes. Note that 0.0 can be used here. | COMMENT |
| LOW | resources/default_tweaks.py | 41 | # Set this if the completion separator should be appended to the end of the | COMMENT |
| LOW | resources/default_tweaks.py | 61 | # | COMMENT |
| LOW | resources/default_tweaks.py | 81 | 'Software', 'Games', 'Entertainment', 'Media', 'Studios', | COMMENT |
| LOW | resources/default_tweaks.py | 101 | # the list because although it is guaranteed that author and series names are | COMMENT |
| LOW | resources/default_tweaks.py | 121 | # values that are obtained by using a suffix. For example, first.name for an | COMMENT |
| LOW | resources/default_tweaks.py | 141 | # For example, set it to [('authors',0),('title',0)] to sort by | COMMENT |
| LOW | resources/default_tweaks.py | 161 | # mm the minutes with a leading 0 (00 to 59) | COMMENT |
| LOW | resources/default_tweaks.py | 181 | # Control title and series sorting in the library view. If set to | COMMENT |
| LOW | resources/default_tweaks.py | 201 | # title will not be changed. If processing series, then if set to | COMMENT |
| LOW | resources/default_tweaks.py | 261 | 'ell': (r'O\s+', r'I\s+', r'To\s+', r'Ta\s+', r'Tus\s+', r'Tis\s+', | COMMENT |
| LOW | resources/default_tweaks.py | 281 | # metadata management is set to automatic. Collections on SONYs are named | COMMENT |
| LOW | resources/default_tweaks.py | 301 | # merging all of the fields into one set of collections. | COMMENT |
| LOW | resources/default_tweaks.py | 321 | # column lookup names are 'series', '#series_1' and '#series_2'. I want nothing | COMMENT |
| LOW | resources/default_tweaks.py | 341 | sony_collection_name_template = '{value}{category:| (|)}' | COMMENT |
| LOW | resources/default_tweaks.py | 361 | #: Control how tags are applied when copying books to another library | COMMENT |
| LOW | resources/default_tweaks.py | 381 | # The value used for the fuzz distance when trimming a cover. | COMMENT |
| LOW | resources/default_tweaks.py | 401 | #: Language to use when sorting | COMMENT |
| LOW | resources/default_tweaks.py | 421 | public_smtp_relay_delay = 301 | COMMENT |
| LOW | resources/default_tweaks.py | 441 | # various bugs, for instance the minimum width of the toolbar becomes twice | COMMENT |
| LOW | resources/default_tweaks.py | 461 | #: Change the font size of the Book details panel in the interface | COMMENT |
| LOW | resources/default_tweaks.py | 481 | default_tweak_format = None | COMMENT |
| LOW | resources/default_tweaks.py | 501 | # all candidates that contain the text you have already typed. To do this, set | COMMENT |
| LOW | resources/default_tweaks.py | 521 | COMMENT | |
| LOW | resources/default_tweaks.py | 541 | # Examples: | COMMENT |
| LOW | resources/default_tweaks.py | 561 | # Sets the width of the tab stop in the template editor in "average characters". | COMMENT |
| LOW | resources/default_tweaks.py | 581 | # using these functions in composites can be very slow. | COMMENT |
| LOW | resources/default_tweaks.py | 601 | #: East Asian language to use for transliteration | COMMENT |
| LOW | resources/default_tweaks.py | 621 | hide_ai_features = False | COMMENT |
| LOW | resources/csscolorparser.js | 1 | // (c) Dean McNamee <dean@gmail.com>, 2012. | COMMENT |
| LOW | setup/hosting.py | 401 | try: | COMMENT |
| LOW | setup/hosting.py | 421 | # f'root@{server}:{rdir}']) | COMMENT |
| LOW | setup/polib.py | 1281 | # * OC: a file/line occurrence | COMMENT |
| LOW | setup/linux-installer.sh | 481 | # speed up common case w/o wildcards | COMMENT |
| LOW | manual/conf.py | 1 | # calibre documentation build configuration file, created by | COMMENT |
| LOW | manual/plugin_examples/interface_demo/ui.py | 21 | COMMENT | |
| LOW | manual/plugin_examples/editor_demo/main.py | 121 | # We should also be dealing with the font shorthand property and | COMMENT |
| LOW | bypy/run-python.h | 1 | /* | COMMENT |
| LOW | bypy/linux/util.h | 1 | #pragma once | COMMENT |
| LOW | bypy/windows/util.c | 1 | /* | COMMENT |
| LOW | bypy/windows/portable-installer.cpp | 1 | #ifndef UNICODE | COMMENT |
| LOW | bypy/windows/XUnzip.cpp | 1 | // XUnzip.cpp Version 1.3 | COMMENT |
| LOW | bypy/windows/XUnzip.cpp | 21 | // Version 1.1: - Added Unicode support to CreateZip() and ZipAdd() | COMMENT |
| LOW | bypy/windows/XUnzip.cpp | 41 | // Copyright (c) 1990-2002 Info-ZIP. All rights reserved. | COMMENT |
| LOW | bypy/windows/XUnzip.cpp | 61 | // freely, subject to the following restrictions: | COMMENT |
| LOW | bypy/windows/XUnzip.cpp | 81 | // including, but not limited to, different capitalizations), | COMMENT |
| LOW | bypy/windows/XUnzip.cpp | 101 | #include <tchar.h> | COMMENT |
| LOW | bypy/windows/XUnzip.cpp | 121 | // | COMMENT |
| 260 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | resources/calibre-portable.sh | 54 | # ----------------------------------------------------- | COMMENT |
| MEDIUM⚡ | resources/calibre-portable.sh | 60 | # ----------------------------------------------------- | COMMENT |
| MEDIUM⚡ | resources/calibre-portable.sh | 370 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | resources/calibre-portable.sh | 372 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | resources/calibre-portable.sh | 379 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | resources/calibre-portable.sh | 381 | # --------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | resources/calibre-portable.sh | 390 | # -------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | resources/calibre-portable.sh | 392 | # -------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 79 | # ------------------------------------------------ | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 81 | # ------------------------------------------------ | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 120 | # ------------------------------------------------ | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 122 | # ------------------------------------------------ | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 272 | # ------------------------------------------------ | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 274 | # ------------------------------------------------ | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 286 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 288 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 305 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 307 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 320 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 322 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 334 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 336 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 354 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | resources/calibre-portable.sh | 356 | # -------------------------------------------------------------- | COMMENT |
| MEDIUM | manual/conf.py | 33 | # --------------------- | COMMENT |
| MEDIUM | manual/conf.py | 127 | # ----------------------- | COMMENT |
| MEDIUM | manual/conf.py | 227 | # ------------------------ | COMMENT |
| MEDIUM | src/calibre/ebooks/lit/mssha1.py | 13 | # ====================================================================== | COMMENT |
| MEDIUM | src/calibre/ebooks/lit/mssha1.py | 18 | # ====================================================================== | COMMENT |
| MEDIUM | src/calibre/ebooks/lit/mssha1.py | 73 | # ====================================================================== | COMMENT |
| MEDIUM | src/calibre/ebooks/lit/mssha1.py | 76 | # ====================================================================== | COMMENT |
| MEDIUM | src/calibre/ebooks/lit/mssha1.py | 293 | # ====================================================================== | COMMENT |
| MEDIUM | src/calibre/ebooks/lit/mssha1.py | 296 | # ====================================================================== | COMMENT |
| MEDIUM | src/calibre/devices/usbms/device.py | 696 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | src/calibre/devices/usbms/device.py | 795 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | src/calibre/devices/usbms/device.py | 813 | # ------------------------------------------------------ | COMMENT |
| MEDIUM | src/odf/odfmanifest.py | 30 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odfmanifest.py | 34 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odfmanifest.py | 85 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odfmanifest.py | 89 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2moinmoin.py | 314 | # ----------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2moinmoin.py | 388 | # ----------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 370 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 374 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 582 | # -------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 584 | # -------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 609 | # -------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 652 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 656 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 1583 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/odf/odf2xhtml.py | 1587 | # ----------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | manual/conf.py | 4 | # This file is execfile()d with the current directory set to its containing dir. | COMMENT |
| MEDIUM | manual/plugin_examples/interface_demo/ui.py | 32 | # This method is called once per plugin, do initial setup here | COMMENT |
| MEDIUM | manual/plugin_examples/editor_demo/main.py | 32 | # Create an action, this will be added to the plugins toolbar and | COMMENT |
| MEDIUM | src/calibre/ebooks/mobi/writer8/index.py | 209 | # Create the Index Header record | STRING |
| MEDIUM | src/calibre/ebooks/mobi/writer8/skeleton.py | 201 | # Create the SKEL and Chunk tables | COMMENT |
| MEDIUM | src/calibre/ebooks/mobi/writer8/main.py | 50 | # Create an inline ToC if one does not already exist | COMMENT |
| MEDIUM | src/calibre/ebooks/mobi/writer2/main.py | 436 | # Create the MOBI 6 EXTH | COMMENT |
| MEDIUM | src/calibre/ebooks/fb2/fb2ml.py | 281 | # Create main section if there are no others to create | COMMENT |
| MEDIUM | src/calibre/ebooks/conversion/plumber.py | 1062 | # Create an OEBBook from the input file. The input plugin does all the | STRING |
| MEDIUM | src/calibre/ebooks/metadata/mobi.py | 260 | # Create an updated Record0 | COMMENT |
| MEDIUM | src/calibre/ebooks/metadata/archive.py | 102 | # Create an in-memory BytesIO stream for the file | COMMENT |
| MEDIUM | src/calibre/ebooks/metadata/ereader.py | 78 | # Create a metadata record for the file if one does not already exist | COMMENT |
| MEDIUM | src/calibre/ebooks/pdb/plucker/reader.py | 412 | # Create a new image the total size of all image | COMMENT |
| MEDIUM | src/calibre/library/database2.py | 165 | # Create the lock to be used to guard access to the metadata writer | COMMENT |
| MEDIUM | src/calibre/library/database2.py | 3045 | # Create the temporary tables to store the ids for books and tags | COMMENT |
| MEDIUM | src/calibre/library/custom_columns.py | 454 | # Create the temporary temp_tables to store the ids for books and tags | STRING |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 1489 | # Create a divRunningTag for the next author | COMMENT |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 1645 | # Create a new month anchor | COMMENT |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 1903 | # Create a new day anchor | COMMENT |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 2208 | # Create an anchor from the tag | COMMENT |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 3292 | # Create an NCX article entry for each populated author index letter | STRING |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 3372 | # Create an NCX article entry for each date range | STRING |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 3406 | # Create an NCX article entry for each populated month | STRING |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 3480 | # Create an NCX article entry for each date range | STRING |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 3502 | # Create an NCX article entry for each populated day | STRING |
| MEDIUM | src/calibre/library/catalogs/epub_mobi_builder.py | 3639 | # Create the OPF tags | STRING |
| MEDIUM | src/calibre/library/catalogs/bibtex.py | 352 | # Initialize BibTeX class | COMMENT |
| MEDIUM⚡ | src/calibre/utils/certgen.py | 69 | # Create the Certificate Authority | COMMENT |
| MEDIUM⚡ | src/calibre/utils/certgen.py | 76 | # Create the server certificate issued by the newly created CA | COMMENT |
| MEDIUM | src/calibre/gui2/complete2.py | 638 | # Create a Qt user property for the current text so that when this widget | COMMENT |
| MEDIUM⚡ | src/calibre/gui2/device.py | 1877 | # Define the cleaning function | COMMENT |
| MEDIUM | src/calibre/gui2/tools.py | 343 | # Create the output file | COMMENT |
| MEDIUM | src/calibre/gui2/tools.py | 375 | # Create a temporary copy of the databases to pass into the generation | COMMENT |
| MEDIUM | src/calibre/gui2/__init__.py | 1145 | # This class is present only for backwards compat with third party plugins | COMMENT |
| MEDIUM | src/calibre/gui2/comments_editor.py | 1251 | # Create a cursor at start to find the first block | COMMENT |
| MEDIUM | src/calibre/gui2/tweak_book/editor/widget.py | 649 | # Create the actions that are placed into the editors toolbars | COMMENT |
| MEDIUM | src/calibre/gui2/catalog/catalog_epub_mobi.py | 1381 | # Create a list of prefixes for user selection | COMMENT |
| MEDIUM | src/calibre/gui2/library/alternate_views.py | 103 | # Create a range based selector for each set of contiguous rows | COMMENT |
| MEDIUM | src/calibre/gui2/library/bookshelf_view.py | 693 | # Create a larger image to accommodate the shadow | COMMENT |
| MEDIUM | src/calibre/gui2/library/views.py | 1622 | # Create a range based selector for each set of contiguous rows | COMMENT |
| MEDIUM | src/calibre/gui2/convert/gui_conversion.py | 57 | # Create a minimal OptionParser that we can append to | COMMENT |
| MEDIUM | src/calibre/gui2/store/search/search.py | 348 | # Create the config dialog. It's going to put two config widgets | COMMENT |
| MEDIUM | src/calibre/db/tests/add_remove.py | 499 | # Create an enumeration column with a default value | COMMENT |
| MEDIUM | src/calibre/srv/metadata.py | 299 | # Create the basic tree, containing all top level categories, user | COMMENT |
| MEDIUM | src/calibre/devices/interface.py | 650 | # The following methods are probably called on the GUI thread. Any driver | COMMENT |
| MEDIUM | src/calibre/devices/kindle/driver.py | 630 | # Create the sidecar folder if necessary | COMMENT |
| MEDIUM | src/calibre/devices/folder_device/driver.py | 13 | # This class is added to the standard device plugin chain, so that it can | COMMENT |
| MEDIUM | src/calibre/devices/mtp/test.py | 79 | # Create a folder | COMMENT |
| MEDIUM | src/calibre/devices/mtp/test.py | 88 | # Create a sub-folder | COMMENT |
| MEDIUM | src/calibre/devices/mtp/test.py | 117 | # Create a folder | COMMENT |
| MEDIUM | src/calibre/devices/kobo/driver.py | 931 | # Create a connection to the sqlite database | COMMENT |
| MEDIUM | src/calibre/devices/kobo/driver.py | 2667 | # Create a connection to the sqlite database | COMMENT |
| MEDIUM | src/odf/element.py | 36 | # The following code is pasted form xml.sax.saxutils | COMMENT |
| MEDIUM | src/odf/grammar.py | 51 | # The following code is generated from the RelaxNG schema with this notice: | STRING |
| MEDIUM | src/odf/load.py | 71 | # Create the element | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | src/calibre/gui2/tweak_book/preview.py | 560 | self.view._page.bridge.request_sync.connect(self.request_sync) | STRING |
| CRITICAL⚡ | src/calibre/gui2/tweak_book/preview.py | 561 | self.view._page.bridge.request_split.connect(self.request_split) | STRING |
| CRITICAL⚡ | src/calibre/gui2/tweak_book/preview.py | 562 | self.view._page.bridge.live_css_data.connect(self.live_css_data) | STRING |
| CRITICAL⚡ | src/calibre/gui2/tweak_book/preview.py | 563 | self.view._page.bridge.bridge_ready.connect(self.on_bridge_ready) | STRING |
| CRITICAL | src/calibre/gui2/tweak_book/boss.py | 180 | self.gui.central.search_panel.search_triggered.connect(self.search) | CODE |
| CRITICAL | src/calibre/gui2/tweak_book/boss.py | 198 | self.gui.central.search_panel.save_search.connect(self.save_search) | CODE |
| CRITICAL | src/calibre/gui2/tweak_book/boss.py | 199 | self.gui.central.search_panel.show_saved_searches.connect(self.show_saved_searches) | CODE |
| CRITICAL | src/calibre/db/cache.py | 519 | self.backend.fts.pool.initialized.wait() | CODE |
| CRITICAL | src/calibre/srv/tests/content.py | 81 | db = server.handler.router.ctx.library_broker.get(None) | CODE |
| CRITICAL | src/calibre/srv/tests/ajax.py | 40 | db = server.handler.router.ctx.library_broker.get(None) | CODE |
| CRITICAL | src/calibre/srv/tests/ajax.py | 95 | db = server.handler.router.ctx.library_broker.get(None) | CODE |
| CRITICAL | src/calibre/srv/tests/ajax.py | 131 | db = server.handler.router.ctx.library_broker.get(None) | CODE |
| CRITICAL | src/calibre/srv/tests/ajax.py | 165 | db = server.handler.router.ctx.library_broker.get(None) | CODE |
| CRITICAL | src/calibre/srv/tests/ajax.py | 245 | db = server.handler.router.ctx.library_broker.get(None) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | resources/calibre-portable.sh | 63 | # Check if user has disabled cleanup | COMMENT |
| LOW | resources/default_tweaks.py | 362 | # Set this to True to ensure that tags in 'Tags to add when adding | COMMENT |
| LOW | src/calibre/prints.py | 76 | # Set base_time to the current monotonic time if it hasn't been set | COMMENT |
| LOW | src/calibre/prints.py | 79 | # Check if debugging is enabled | COMMENT |
| LOW | src/calibre/ebooks/odt/input.py | 203 | # Check if we have only class selectors for this rule | COMMENT |
| LOW | src/calibre/ebooks/mobi/writer8/skeleton.py | 166 | # Set this to a list to enable dumping of the original and rebuilt | COMMENT |
| LOW | src/calibre/ebooks/pdf/reflow.py | 783 | # Set margins to values that will get adjusted | COMMENT |
| LOW | src/calibre/ebooks/oeb/stylizer.py | 393 | # Check if either height or width is not default | COMMENT |
| LOW | src/calibre/ebooks/oeb/transforms/metadata.py | 207 | # Check if the resulting HTML has no content, if so remove it | COMMENT |
| LOW | src/calibre/ebooks/oeb/polish/cover.py | 471 | # Check if the first item in the spine is a simple cover wrapper | COMMENT |
| LOW | src/calibre/ebooks/snb/snbfile.py | 75 | # Read files | COMMENT |
| LOW | src/calibre/ebooks/snb/snbfile.py | 279 | # Write file end mark | COMMENT |
| LOW | src/calibre/ebooks/conversion/plugins/epub_input.py | 184 | # Check if the cover specified in the guide is also | COMMENT |
| LOW | src/calibre/ebooks/conversion/plugins/htmlz_input.py | 52 | # Set index to the first HTML file found if it's not | COMMENT |
| LOW | src/calibre/ebooks/docx/index.py | 35 | # Check if the xe field is contained inside a bookmark with the | COMMENT |
| LOW | src/calibre/ebooks/docx/cleanup.py | 221 | # Check if the first image in the document is possibly a cover | COMMENT |
| LOW | src/calibre/library/database2.py | 669 | # Check if the metadata used to construct paths has changed | COMMENT |
| LOW | src/calibre/utils/zipfile.py | 387 | # Set these to zero because we write them after the file data | COMMENT |
| LOW | src/calibre/utils/zipfile.py | 785 | # Check if we were passed a file-like object | COMMENT |
| LOW | src/calibre/utils/formatter.py | 781 | # Check if we have a keyword-type expression | COMMENT |
| LOW | src/calibre/utils/formatter.py | 811 | # Check if it is a known one. We do this here so error reporting is | COMMENT |
| LOW | src/calibre/utils/img.py | 290 | # Check if we were minified | COMMENT |
| LOW | src/calibre/gui2/momentum_scroll.py | 269 | # Check if we should stop | COMMENT |
| LOW | src/calibre/gui2/__init__.py | 780 | # Set skip_dialog_name to a unique name for this dialog | COMMENT |
| LOW | src/calibre/gui2/__init__.py | 781 | # Set skip_dialog_msg to a message displayed to the user | COMMENT |
| LOW | src/calibre/gui2/tweak_book/editor/syntax/html.py | 124 | # Check if we should still be bold or italic | COMMENT |
| LOW | src/calibre/gui2/tweak_book/editor/smarts/html.py | 838 | # Check if we are in comment/PI/etc. | COMMENT |
| LOW | …bre/gui2/preferences/look_feel_tabs/tb_partitioning.py | 52 | # Check if setting not migrated yet | COMMENT |
| LOW | src/calibre/gui2/tag_browser/ui.py | 96 | # Check if the current cell is a category. If so, show an action for it | COMMENT |
| LOW | src/calibre/gui2/tag_browser/model.py | 1717 | # Check if the new name with the same category already exists. If | COMMENT |
| LOW | src/calibre/gui2/tag_browser/view.py | 491 | # Check if we are moving the focus and we are at the beginning or the | STRING |
| LOW | src/calibre/gui2/tag_browser/view.py | 626 | # Check if one of the link or note icons was clicked. If so, deal with | STRING |
| LOW | src/calibre/gui2/tag_browser/view.py | 1574 | # Check if this is an intra-hierarchical-category drag/drop | STRING |
| LOW | src/calibre/gui2/library/models.py | 122 | # Check if the correct themed icon exists. | COMMENT |
| LOW | src/calibre/gui2/fts/cards.py | 459 | # Assign cards to rows | COMMENT |
| LOW | src/calibre/gui2/dialogs/template_dialog_code_widget.py | 190 | # Check if there is a selection. If not then only Shift-Tab is valid | COMMENT |
| LOW | src/calibre/gui2/dialogs/quickview.py | 604 | # Check if we are in the GridView and there are no values for the | COMMENT |
| LOW | src/calibre/db/cache.py | 1318 | # Check if virtual_libraries_for_books rebuilt its cache. If it did then | COMMENT |
| LOW | src/calibre/db/tables.py | 317 | # Check if all the books with the item are in the restriction. If | COMMENT |
| LOW | src/calibre/db/tables.py | 465 | # Check if all the books with the item are in the restriction. If | COMMENT |
| LOW | src/calibre/devices/interface.py | 89 | # Set this to None if the books on the device are files that the GUI can | COMMENT |
| LOW | src/calibre/devices/kindle/driver.py | 519 | # Check if we need to put the apnx into a sidecar dir | COMMENT |
| LOW | …x_page_generator/generators/accurate_page_generator.py | 71 | # Check if we are starting or stopping a p tag. | COMMENT |
| LOW | src/calibre/devices/smart_device_app/driver.py | 891 | # Check if we have another UUID with the same lpath. If so, remove it | COMMENT |
| LOW | src/calibre/devices/smart_device_app/driver.py | 1087 | # Set up to recheck the sync columns | COMMENT |
| LOW | src/calibre/devices/mtp/unix/driver.py | 117 | # Check if the currently connected device is still present | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1208 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1209 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1211 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1213 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1214 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1215 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1225 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1228 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1233 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1234 | CODE | |
| MEDIUM | src/calibre/ebooks/pdf/reflow.py | 1368 | CODE | |
| MEDIUM | src/calibre/ebooks/rtf2xml/process_tokens.py | 735 | CODE | |
| MEDIUM | src/calibre/ebooks/rtf2xml/process_tokens.py | 736 | CODE | |
| MEDIUM | src/calibre/ebooks/rtf2xml/process_tokens.py | 738 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 38 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 39 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 40 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 41 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 43 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 44 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 45 | CODE | |
| MEDIUM | src/calibre/ebooks/metadata/xisbn.py | 51 | CODE | |
| MEDIUM | src/calibre/ai/open_router/config.py | 269 | CODE | |
| MEDIUM | src/odf/odf2moinmoin.py | 303 | CODE | |
| MEDIUM | src/odf/odf2moinmoin.py | 304 | CODE | |
| MEDIUM | src/odf/odf2moinmoin.py | 305 | CODE | |
| MEDIUM | src/odf/odf2moinmoin.py | 306 | CODE | |
| MEDIUM | src/odf/odf2moinmoin.py | 312 | CODE | |
| MEDIUM | src/odf/odf2moinmoin.py | 555 | CODE | |
| MEDIUM | src/odf/odf2moinmoin.py | 566 | CODE | |
| MEDIUM | src/odf/odf2xhtml.py | 791 | CODE | |
| MEDIUM | src/odf/odf2xhtml.py | 798 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup/polib.py | 26 | __all__ = ['pofile', 'POFile', 'POEntry', 'mofile', 'MOFile', 'MOEntry', | CODE |
| LOW | setup/commands.py | 8 | __all__ = [ | CODE |
| LOW | src/calibre/scraper/qt.py | 206 | def set_user_agent(self, val: str = '') -> None: | CODE |
| LOW⚡ | src/calibre/scraper/qt_backend.py | 263 | def set_user_agent(self, new_val: str) -> None: | CODE |
| LOW⚡ | src/calibre/scraper/qt_backend.py | 266 | def _set_cookie_from_header(self, cookie_string: str) -> None: | CODE |
| LOW⚡ | src/calibre/scraper/qt_backend.py | 270 | def _set_cookies(self, cookies: list[dict[str, str]]) -> None: | CODE |
| LOW⚡ | src/calibre/scraper/webengine_backend.py | 274 | def set_user_agent(self, new_val: str) -> None: | STRING |
| LOW⚡ | src/calibre/scraper/webengine_backend.py | 284 | def _set_cookie_from_header(self, cookie_string: str) -> None: | STRING |
| LOW⚡ | src/calibre/scraper/webengine_backend.py | 288 | def _set_cookies(self, cookies: list[dict[str, str]]) -> None: | STRING |
| LOW | src/calibre/ebooks/textile/__init__.py | 6 | __all__ = ['textile', 'textile_restricted'] | CODE |
| LOW | src/calibre/ebooks/lit/reader.py | 26 | __all__ = ['LitReader'] | CODE |
| LOW | src/calibre/ebooks/lit/writer.py | 32 | __all__ = ['LitWriter'] | CODE |
| LOW | src/calibre/ebooks/lit/lzx.py | 10 | __all__ = ['Compressor', 'Decompressor', 'LZXError'] | CODE |
| LOW | src/calibre/ebooks/oeb/reader.py | 60 | __all__ = ['OEBReader'] | CODE |
| LOW | src/calibre/ebooks/oeb/writer.py | 14 | __all__ = ['OEBWriter'] | CODE |
| LOW | src/calibre/ebooks/oeb/transforms/htmltoc.py | 11 | __all__ = ['HTMLTOCAdder'] | CODE |
| LOW | src/calibre/ebooks/unihandecode/__init__.py | 4 | __all__ = ['Unihandecoder'] | CODE |
| LOW | src/calibre/utils/zipfile.py | 26 | __all__ = [ | CODE |
| LOW | src/calibre/utils/titlecase.py | 17 | __all__ = ['titlecase'] | CODE |
| LOW | src/calibre/utils/threadpool.py | 33 | __all__ = [ | CODE |
| LOW | src/calibre/utils/tts/piper.py | 80 | def set_voice(config_path: str, model_path:str, length_scale_multiplier: float = 0, sentence_delay: float = 0.2) -> None | CODE |
| LOW | src/calibre/ai/prefs.py | 33 | def set_prefs_for_provider(name: str, pref_map: dict[str, Any]) -> None: | CODE |
| LOW | src/calibre/gui2/chat_widget.py | 117 | def set_max_height(self, val: int) -> None: | CODE |
| LOW | src/calibre/gui2/chat_widget.py | 168 | def set_max_height(self, val: int) -> None: | CODE |
| LOW | src/calibre/gui2/chat_widget.py | 245 | def set_input_enabled(self, enabled: bool) -> None: | CODE |
| LOW | src/calibre/gui2/complete2.py | 407 | def set_use_startswith_search(self, yes: bool) -> None: | CODE |
| LOW | src/calibre/gui2/complete2.py | 419 | def set_hierarchy_separator(self, sep: str = '') -> None: | CODE |
| LOW | src/calibre/gui2/momentum_scroll.py | 354 | def update_momentum_scroll_settings(self, **kw) -> None: | CODE |
| LOW | src/calibre/gui2/llm.py | 407 | def update_ui_state(self) -> None: | CODE |
| LOW | src/calibre/gui2/llm.py | 757 | def set_actions_in_prefs(self, s: dict[str, Any]) -> None: | CODE |
| LOW | src/calibre/gui2/llm.py | 825 | def update_render_count(self, reset=False) -> None: | CODE |
| LOW | src/calibre/gui2/widgets.py | 264 | def set_pixmap(self, pixmap: QPixmap) -> None: ... | CODE |
| LOW | …ibre/gui2/preferences/look_feel_tabs/bookshelf_view.py | 265 | def update_recount_txt(self, count) -> None: | CODE |
| LOW | src/calibre/gui2/library/caches.py | 329 | def set_thumbnail_size(self, width: int, height: int) -> None: | CODE |
| LOW | src/calibre/gui2/library/caches.py | 371 | def set_disk_cache_max_size(self, size_in_mb: float) -> None: | CODE |
| LOW | src/calibre/gui2/library/caches.py | 374 | def set_ram_limit(self, num_entries: int) -> None: | CODE |
| LOW⚡ | src/calibre/gui2/library/caches.py | 396 | def set_thumbnail_size(self, width: int, height: int) -> None: | CODE |
| LOW⚡ | src/calibre/gui2/library/caches.py | 399 | def set_disk_cache_max_size(self, size_in_mb: float) -> None: | CODE |
| LOW⚡ | src/calibre/gui2/library/caches.py | 402 | def set_ram_limit(self, num_entries: int) -> None: | CODE |
| LOW | src/calibre/gui2/library/models.py | 437 | def update_zero_page_values(self) -> None: | CODE |
| LOW | src/calibre/gui2/fts/cards.py | 144 | def set_cover(self, img: QImage) -> None: | CODE |
| LOW | src/calibre/gui2/fts/search.py | 571 | def set_num_of_matches_found(self, num: int) -> None: | CODE |
| LOW | src/calibre/gui2/viewer/llm.py | 137 | def update_with_text(self, text: str) -> None: | CODE |
| LOW | src/calibre/gui2/viewer/llm.py | 258 | def set_actions_in_prefs(self, s: dict[str, Any]) -> None: | CODE |
| LOW | src/calibre/gui2/viewer/search.py | 600 | def set_tooltips(self, key_map: dict[str, list[str]]) -> None: | CODE |
| LOW | src/calibre/gui2/viewer/search.py | 959 | def set_tooltips(self, key_map: dict[str, list[str]]) -> None: | CODE |
| LOW | src/calibre/gui2/tts/config.py | 236 | def set_item_downloaded_state(self, ans: QTreeWidgetItem) -> None: | CODE |
| LOW | src/calibre/gui2/tts/config.py | 567 | def set_engine(self, engine_name: str) -> None: | CODE |
| LOW | src/calibre/gui2/tts/piper.py | 312 | def _set_state(self, s: QTextToSpeech.State) -> None: | CODE |
| LOW | src/calibre/gui2/tts/piper.py | 317 | def _set_error(self, msg: str) -> None: | CODE |
| LOW⚡ | src/calibre/gui2/tts/speechd.py | 126 | def _set_state(self, s: QTextToSpeech.State) -> None: | CODE |
| LOW⚡ | src/calibre/gui2/tts/speechd.py | 130 | def _set_error(self, msg: str) -> None: | CODE |
| LOW | src/calibre/gui2/dialogs/llm_book.py | 124 | def set_actions_in_prefs(self, s: dict[str, Any]) -> None: | CODE |
| LOW | src/calibre/gui2/dialogs/plugin_updater.py | 260 | def set_category(self, c: Category | None) -> None: | CODE |
| LOW⚡ | src/calibre/gui2/dialogs/plugin_updater.py | 733 | def set_description(self, src: str) -> None: | CODE |
| LOW | src/calibre/translations/dynamic.py | 15 | __all__ = ['translate'] | CODE |
| LOW⚡ | src/calibre/srv/users.py | 280 | def set_allowed_to_change_password_via_http(self, username: str, allow: bool = True) -> None: | STRING |
| LOW | src/tinycss/decoding.py | 19 | __all__ = ['decode'] # Everything else is implementation detail | CODE |
| LOW | src/css_selectors/__init__.py | 12 | __all__ = ['parse', 'Select', 'INAPPROPRIATE_PSEUDO_CLASSES', 'SelectorError', 'SelectorSyntaxError', 'ExpressionError'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup/polib.py | 333 | CODE | |
| LOW | setup/polib.py | 886 | CODE | |
| LOW | setup/polib.py | 1056 | CODE | |
| LOW | bypy/macos/__main__.py | 238 | CODE | |
| LOW | src/calibre/ebooks/lrf/meta.py | 515 | CODE | |
| LOW | src/calibre/ebooks/lrf/pylrs/pylrs.py | 2344 | CODE | |
| LOW | src/calibre/ebooks/textile/functions.py | 76 | CODE | |
| LOW | src/calibre/ebooks/textile/functions.py | 953 | CODE | |
| LOW | src/calibre/ebooks/rtf/rtfml.py | 135 | CODE | |
| LOW | src/calibre/ebooks/txt/txtml.py | 85 | CODE | |
| LOW | src/calibre/ebooks/mobi/writer8/exth.py | 49 | CODE | |
| LOW | src/calibre/ebooks/pdf/render/serialize.py | 149 | CODE | |
| LOW | src/calibre/ebooks/oeb/parse_utils.py | 111 | CODE | |
| LOW | src/calibre/ebooks/oeb/base.py | 1537 | CODE | |
| LOW | src/calibre/ebooks/oeb/transforms/flatcss.py | 137 | CODE | |
| LOW | src/calibre/ebooks/oeb/polish/kepubify.py | 631 | CODE | |
| LOW | src/calibre/ebooks/rtf2xml/ParseRtf.py | 123 | CODE | |
| LOW | src/calibre/ebooks/rtf2xml/hex_2_utf8.py | 29 | CODE | |
| LOW | src/calibre/ebooks/metadata/toc.py | 53 | CODE | |
| LOW | src/calibre/ebooks/metadata/book/render.py | 141 | CODE | |
| LOW | src/calibre/ebooks/metadata/sources/search_engines.py | 239 | CODE | |
| LOW | src/calibre/ebooks/pml/pmlml.py | 109 | CODE | |
| LOW | src/calibre/ebooks/pml/pmlconverter.py | 676 | CODE | |
| LOW | src/calibre/ebooks/rb/rbml.py | 78 | CODE | |
| LOW | src/calibre/library/database2.py | 2899 | CODE | |
| LOW | src/calibre/library/__init__.py | 17 | CODE | |
| LOW | src/calibre/library/save_to_disk.py | 247 | CODE | |
| LOW | src/calibre/utils/formatter.py | 2083 | CODE | |
| LOW | src/calibre/utils/titlecase.py | 101 | CODE | |
| LOW | src/calibre/utils/ffml_processor.py | 365 | CODE | |
| LOW | src/calibre/utils/config_base.py | 142 | CODE | |
| LOW | src/calibre/utils/config_base.py | 240 | CODE | |
| LOW | src/calibre/utils/certgen.py | 16 | CODE | |
| LOW | src/calibre/utils/certgen.py | 49 | CODE | |
| LOW | src/calibre/utils/img.py | 230 | CODE | |
| LOW | src/calibre/utils/rapydscript.py | 252 | CODE | |
| LOW | src/calibre/utils/smtp.py | 163 | CODE | |
| LOW | src/calibre/utils/ipc/simple_worker.py | 209 | CODE | |
| LOW | src/calibre/gui2/win_file_dialogs.py | 118 | CODE | |
| LOW | src/calibre/gui2/__init__.py | 777 | CODE | |
| LOW | src/calibre/gui2/ebook_download.py | 82 | CODE | |
| LOW | src/calibre/gui2/proceed.py | 397 | CODE | |
| LOW | src/calibre/gui2/qt_file_dialogs.py | 36 | CODE | |
| LOW | src/calibre/gui2/tag_browser/model.py | 58 | CODE | |
| LOW | src/calibre/gui2/tag_browser/view.py | 676 | CODE | |
| LOW | src/calibre/gui2/library/models.py | 773 | CODE | |
| LOW | src/calibre/gui2/dialogs/confirm_delete.py | 92 | CODE | |
| LOW | src/calibre/gui2/dialogs/message_box.py | 97 | CODE | |
| LOW | src/calibre/gui2/dialogs/template_dialog.py | 499 | CODE | |
| LOW | src/calibre/gui2/metadata/diff.py | 658 | CODE | |
| LOW | src/calibre/db/categories.py | 41 | CODE | |
| LOW | src/calibre/db/cache.py | 714 | CODE | |
| LOW | src/calibre/db/cache.py | 861 | CODE | |
| LOW | src/calibre/db/cache.py | 3841 | CODE | |
| LOW | src/calibre/db/cli/main.py | 41 | CODE | |
| LOW | src/calibre/srv/metadata.py | 115 | CODE | |
| LOW | src/calibre/srv/routes.py | 64 | CODE | |
| LOW | src/calibre/srv/tests/auth.py | 63 | CODE | |
| LOW | src/calibre/devices/kobo/books.py | 20 | CODE | |
| LOW | src/calibre/devices/kobo/driver.py | 2938 | CODE | |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/calibre-portable.sh | 31 | # To use your own structure, simply set the variables in the generated configuration file. | COMMENT |
| MEDIUM | src/calibre/ebooks/fb2/__init__.py | 20 | # Try a more robust version (adapted from FBReader sources) | COMMENT |
| LOW | src/calibre/ebooks/comic/input.py | 77 | # levels, in which case simply use the filenames. | COMMENT |
| MEDIUM | src/calibre/ebooks/djvu/djvubzzdec.py | 58 | //C- | any greater extent that may be necessary to utilize further | COMMENT |
| LOW | src/calibre/ebooks/metadata/odt.py | 271 | # if opf.metadata prop is false, just use the first image that | COMMENT |
| MEDIUM | src/calibre/ebooks/metadata/zip.py | 57 | # enough to make it more robust | COMMENT |
| LOW | src/calibre/ebooks/pml/pmlml.py | 372 | # block isn't a real tag we just use | COMMENT |
| LOW | src/calibre/spell/dictionary.py | 170 | # Now just return any dictionary that matches the language, preferring user | COMMENT |
| LOW | src/calibre/utils/zipfile.py | 217 | # end-of-archive record, so just return the end record we were given. | COMMENT |
| MEDIUM | src/calibre/utils/icu.py | 329 | remove_accents = remove_accents_regex # more robust and faster | STRING |
| LOW | src/calibre/gui2/markdown_syntax_highlighter.py | 139 | # If empty line no need to check for below elements just return | COMMENT |
| MEDIUM | src/calibre/db/cache.py | 1813 | # We utilize the search restriction cache to speed this up | COMMENT |
| LOW | src/calibre/devices/smart_device_app/driver.py | 1755 | # This is a special case where the user just set a sync column. In | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | resources/stylelint-bundle.min.js | 10 | var lf={}.hasOwnProperty,uf=/[ -,\.\/:-@\[-\^`\{-~]/,cf=/[ -,\.\/:-@\[\]\^`\{-~]/,df=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a | CODE |
| LOW | src/calibre/ebooks/metadata/test_author_sort.py | 85 | self.check_all_methods('Jane Doe', | CODE |
| LOW | src/calibre/gui2/device.py | 153 | super().__init__('placeholder') | CODE |
| LOW | src/odf/elementtypes.py | 83 | (TEXTNS,'placeholder'), | CODE |
| LOW | src/odf/elementtypes.py | 240 | (PRESENTATIONNS,'placeholder'), | CODE |
| LOW | src/odf/grammar.py | 1218 | (PRESENTATIONNS,'placeholder'): ( | STRING |
| LOW | src/odf/grammar.py | 1466 | (PRESENTATIONNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 2038 | (TEXTNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 2324 | (TEXTNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 2711 | (TEXTNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 2781 | (TEXTNS,'placeholder'): ( | STRING |
| LOW | src/odf/grammar.py | 2878 | (TEXTNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 3100 | (TEXTNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 3354 | (TEXTNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 3731 | (PRESENTATIONNS,'placeholder'): ( | STRING |
| LOW | src/odf/grammar.py | 4152 | (TEXTNS,'placeholder'): ( | STRING |
| LOW | src/odf/grammar.py | 5260 | (PRESENTATIONNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 5463 | (PRESENTATIONNS,'placeholder'), | STRING |
| LOW | src/odf/grammar.py | 6268 | (PRESENTATIONNS,'placeholder'):( | STRING |
| LOW | src/odf/grammar.py | 8141 | (TEXTNS,'placeholder'):( | STRING |
| LOW | src/odf/presentation.py | 81 | return Element(qname=(PRESENTATIONNS,'placeholder'), **args) | CODE |
| LOW | src/odf/attrconverters.py | 883 | ((PRESENTATIONNS,'placeholder'), None): cnv_boolean, | CODE |
| LOW | src/odf/text.py | 453 | return Element(qname=(TEXTNS,'placeholder'), **args) | CODE |
| LOW⚡ | src/tinycss/tests/tokenizing.py | 195 | (r'"Lore\m Ipsum"', [('STRING', 'Lorem Ipsum')]), # or not special | CODE |
| LOW⚡ | src/tinycss/tests/tokenizing.py | 196 | (r'"Lorem \49psum"', [('STRING', 'Lorem Ipsum')]), | CODE |
| LOW⚡ | src/tinycss/tests/tokenizing.py | 197 | (r'"Lorem \49 psum"', [('STRING', 'Lorem Ipsum')]), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/calibre/devices/smart_device_app/driver.py | 1723 | # We need to check if our attributes are in the book. If they are not | COMMENT |
| LOW | src/perfect-hashing/frozen/bits/pmh.h | 53 | // Step 0: Bucket max is 2 * sqrt M | COMMENT |
| LOW⚡ | src/perfect-hashing/frozen/bits/pmh.h | 176 | // Step 1: Place all of the keys into buckets | COMMENT |
| LOW⚡ | src/perfect-hashing/frozen/bits/pmh.h | 179 | // Step 2: Sort the buckets to process the ones with the most items first. | COMMENT |
| LOW | src/perfect-hashing/frozen/bits/pmh.h | 190 | // Step 3: Map the items in buckets into hash tables. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/calibre/devices/winusb.py | 940 | # Note that I have observed that this fails | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/perfect-hashing/frozen/bits/pmh.h | 53 | // Step 0: Bucket max is 2 * sqrt M | COMMENT |
| LOW⚡ | src/perfect-hashing/frozen/bits/pmh.h | 176 | // Step 1: Place all of the keys into buckets | COMMENT |
| LOW⚡ | src/perfect-hashing/frozen/bits/pmh.h | 179 | // Step 2: Sort the buckets to process the ones with the most items first. | COMMENT |
| LOW | src/perfect-hashing/frozen/bits/pmh.h | 190 | // Step 3: Map the items in buckets into hash tables. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | resources/default_tweaks.py | 191 | # without changing anything is sufficient to change the sort. Or you can use | COMMENT |
| LOW | src/calibre/ebooks/rtf2xml/paragraph_def.py | 554 | tokens. (And don't forget to set the text string to ''!) | STRING |
| LOW | src/calibre/devices/__init__.py | 191 | out("Don't forget to send the contents of /tmp/ioreg.txt") | CODE |
| LOW | src/calibre/devices/kobo/driver.py | 3973 | # Don't forget to merge that on top of the common dictionary (c.f., https://stackoverflow.com/q/38987) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/calibre/utils/threadpool.py | 285 | def do_something(data): | CODE |
| LOW | src/calibre/gui2/dialogs/choose_library.py | 134 | def perform_action(self, ac, loc): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/calibre/ai/github/backend.py | 261 | u # TODO: implement costing | CODE |
| LOW | src/calibre/ai/openai/backend.py | 177 | u # TODO: implement costing | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bypy/windows/XUnzip.cpp | 545 | // Usage example: | COMMENT |