Command-line program to download image galleries and collections from several image hosting sites
This report summarizes scanner evidence for mikf/gallery-dl, a Python project with 20,019 GitHub stars. SynthScan examined 139,344 lines of code across 738 source files, recording 813 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 9.7 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 333 finding(s).
Are imports declared and package/API names verified? 21 finding(s).
Are wrappers, guards, and repeated structures necessary? 581 finding(s).
Which changes need focused human review? 813 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 813 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/test_results.py | 592 | except FileNotFoundError: | CODE |
| HIGH | test/test_results.py | 192 | except exception.StopExtraction: | CODE |
| HIGH | test/test_extractor.py | 118 | except AssertionError: | CODE |
| HIGH | scripts/generate_test_result.py | 68 | except ValueError: | CODE |
| HIGH | scripts/supportedsites.py | 616 | except Exception: | CODE |
| HIGH | scripts/rm.py | 24 | except Exception: | CODE |
| HIGH | scripts/rm.py | 68 | except ValueError: | CODE |
| HIGH | scripts/hook-gallery_dl.py | 29 | except Exception: | CODE |
| HIGH | gallery_dl/formatter.py | 27 | except KeyError: | CODE |
| HIGH | gallery_dl/formatter.py | 342 | except ValueError: | CODE |
| HIGH | gallery_dl/formatter.py | 319 | except TypeError: | CODE |
| HIGH | gallery_dl/config.py | 273 | except Exception: | CODE |
| HIGH | gallery_dl/config.py | 328 | except Exception: | CODE |
| HIGH | gallery_dl/config.py | 359 | except Exception: | CODE |
| HIGH | gallery_dl/config.py | 303 | except Exception: | CODE |
| HIGH | gallery_dl/option.py | 231 | except ValueError: | CODE |
| HIGH | gallery_dl/option.py | 993 | except Exception: | CODE |
| HIGH | gallery_dl/util.py | 373 | except (OSError, subprocess.SubprocessError): | CODE |
| HIGH | gallery_dl/util.py | 392 | except OSError: | CODE |
| HIGH | gallery_dl/util.py | 399 | except OSError: | CODE |
| HIGH | gallery_dl/util.py | 408 | except Exception: | CODE |
| HIGH | gallery_dl/util.py | 551 | except KeyError: | CODE |
| HIGH | gallery_dl/job.py | 679 | except KeyError: | CODE |
| HIGH | gallery_dl/job.py | 1092 | except exception.StopExtraction: | CODE |
| HIGH | gallery_dl/job.py | 1100 | except BaseException: | CODE |
| HIGH | gallery_dl/job.py | 1113 | except Exception: | CODE |
| HIGH | gallery_dl/job.py | 608 | except exception.RestartExtraction: | CODE |
| HIGH | gallery_dl/job.py | 596 | except StopIteration: | CODE |
| HIGH | gallery_dl/cache.py | 94 | except Exception: | CODE |
| HIGH | gallery_dl/cache.py | 121 | except Exception: | CODE |
| HIGH | gallery_dl/actions.py | 251 | except Exception: | CODE |
| HIGH | gallery_dl/actions.py | 298 | except ValueError: | CODE |
| HIGH | gallery_dl/__init__.py | 458 | except BrokenPipeError: | CODE |
| HIGH | gallery_dl/__init__.py | 166 | except AttributeError: | CODE |
| HIGH | gallery_dl/__init__.py | 445 | except exception.ControlException: | CODE |
| HIGH | gallery_dl/text.py | 337 | except Exception: | CODE |
| HIGH | gallery_dl/text.py | 364 | except Exception: | CODE |
| HIGH | gallery_dl/text.py | 150 | except Exception: | CODE |
| HIGH | gallery_dl/archive.py | 133 | except self._sqlite3.OperationalError: | CODE |
| HIGH | gallery_dl/path.py | 185 | except OSError: | CODE |
| HIGH | gallery_dl/path.py | 376 | except OSError: | CODE |
| HIGH | gallery_dl/path.py | 169 | except OSError: | CODE |
| HIGH | gallery_dl/postprocessor/metadata.py | 171 | except Exception: | CODE |
| HIGH | gallery_dl/postprocessor/metadata.py | 182 | except Exception: | CODE |
| HIGH | gallery_dl/postprocessor/__init__.py | 31 | except KeyError: | CODE |
| HIGH | gallery_dl/postprocessor/__init__.py | 38 | except ImportError: | CODE |
| HIGH | gallery_dl/postprocessor/compare.py | 44 | except OSError: | CODE |
| HIGH | gallery_dl/postprocessor/compare.py | 57 | except OSError: | CODE |
| HIGH | gallery_dl/downloader/__init__.py | 22 | except KeyError: | CODE |
| HIGH | gallery_dl/downloader/__init__.py | 31 | except ImportError: | CODE |
| HIGH | gallery_dl/extractor/flickr.py | 356 | except Exception: | CODE |
| HIGH | gallery_dl/extractor/wikimedia.py | 163 | except KeyError: | CODE |
| HIGH | gallery_dl/extractor/fansly.py | 123 | except Exception: | CODE |
| HIGH | gallery_dl/extractor/fansly.py | 346 | except KeyError: | CODE |
| HIGH | gallery_dl/extractor/bunkr.py | 254 | except Exception: | CODE |
| HIGH | gallery_dl/extractor/bunkr.py | 123 | except ValueError: | CODE |
| HIGH | gallery_dl/extractor/fantia.py | 119 | except Exception: | CODE |
| HIGH | gallery_dl/extractor/sankaku.py | 356 | except Exception: | CODE |
| HIGH | gallery_dl/extractor/cien.py | 70 | except Exception: | CODE |
| HIGH | gallery_dl/extractor/mastodon.py | 237 | except Exception: | CODE |
| 48 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_results.py | 357 | except Exception as exc: | CODE |
| LOW | test/test_results.py | 379 | except Exception: | CODE |
| LOW | test/test_results.py | 401 | except Exception as exc: | CODE |
| LOW | test/test_results.py | 594 | except Exception as exc: | CODE |
| MEDIUM | test/test_results.py | 585 | def load_test_config(): | CODE |
| LOW | test/test_ytdl.py | 276 | except Exception: | CODE |
| MEDIUM | test/test_ytdl.py | 23 | def setUpClass(cls): | CODE |
| LOW | scripts/run_tests.py | 37 | except Exception as exc: | CODE |
| LOW | scripts/util.py | 54 | except Exception: | CODE |
| LOW | scripts/supportedsites.py | 616 | except Exception: | CODE |
| LOW | scripts/docs_compare.py | 19 | except Exception as exc: | CODE |
| LOW | scripts/rm.py | 24 | except Exception: | CODE |
| MEDIUM | scripts/rm.py | 21 | def remove_file(args, path): | CODE |
| LOW | scripts/init.py | 61 | except Exception as exc: | STRING |
| LOW | scripts/hook-gallery_dl.py | 29 | except Exception: | CODE |
| LOW | scripts/pyprint.py | 64 | except Exception: | CODE |
| MEDIUM | gallery_dl/cookies.py | 311 | def _safari_cookies_database(): | CODE |
| MEDIUM | gallery_dl/cookies.py | 778 | def _get_gnome_keyring_password(browser_keyring_name): | CODE |
| MEDIUM | gallery_dl/cookies.py | 934 | def __enter__(self): | CODE |
| LOW | gallery_dl/cookies.py | 151 | except Exception as exc: | CODE |
| LOW | gallery_dl/cookies.py | 724 | except Exception as exc: | CODE |
| LOW | gallery_dl/cookies.py | 772 | except Exception as exc: | CODE |
| LOW | gallery_dl/cookies.py | 841 | except Exception as exc: | CODE |
| LOW | gallery_dl/cookies.py | 945 | except Exception as exc: | CODE |
| LOW | gallery_dl/formatter.py | 44 | except Exception as exc: | CODE |
| LOW | gallery_dl/formatter.py | 163 | except Exception: | CODE |
| LOW | gallery_dl/formatter.py | 173 | except Exception: | CODE |
| LOW | gallery_dl/formatter.py | 191 | except Exception: | CODE |
| MEDIUM | gallery_dl/formatter.py | 158 | def wrap(_): | CODE |
| MEDIUM | gallery_dl/formatter.py | 168 | def wrap(kwdict): | CODE |
| LOW | gallery_dl/config.py | 150 | except Exception as exc: | STRING |
| LOW | gallery_dl/config.py | 176 | except Exception as exc: | STRING |
| LOW | gallery_dl/config.py | 230 | except Exception as exc: | CODE |
| LOW | gallery_dl/config.py | 260 | except Exception: | CODE |
| LOW | gallery_dl/config.py | 273 | except Exception: | CODE |
| LOW | gallery_dl/config.py | 291 | except Exception: | CODE |
| LOW | gallery_dl/config.py | 303 | except Exception: | CODE |
| LOW | gallery_dl/config.py | 328 | except Exception: | CODE |
| LOW | gallery_dl/config.py | 359 | except Exception: | CODE |
| LOW | gallery_dl/option.py | 993 | except Exception: | CODE |
| MEDIUM | gallery_dl/util.py | 363 | def git_head(): | CODE |
| MEDIUM | gallery_dl/util.py | 548 | def __getitem__(self, key, modules=sys.modules): | CODE |
| MEDIUM | gallery_dl/util.py | 1035 | def _pred(_, kwdict): | CODE |
| LOW⚡ | gallery_dl/util.py | 823 | except Exception: | CODE |
| LOW | gallery_dl/util.py | 233 | except Exception: | CODE |
| LOW | gallery_dl/util.py | 408 | except Exception: | CODE |
| LOW | gallery_dl/util.py | 1040 | except Exception as exc: | CODE |
| LOW | gallery_dl/dt.py | 58 | except Exception: | CODE |
| LOW | gallery_dl/dt.py | 74 | except Exception: | CODE |
| LOW | gallery_dl/dt.py | 86 | except Exception: | CODE |
| LOW | gallery_dl/dt.py | 101 | except Exception: | CODE |
| LOW | gallery_dl/dt.py | 114 | except Exception: | CODE |
| LOW | gallery_dl/aes.py | 17 | except Exception as exc: | CODE |
| LOW | gallery_dl/job.py | 187 | except Exception as exc: | CODE |
| LOW | gallery_dl/job.py | 366 | except Exception as exc: | CODE |
| LOW | gallery_dl/job.py | 731 | except Exception as exc: | CODE |
| LOW | gallery_dl/job.py | 837 | except Exception as exc: | CODE |
| LOW | gallery_dl/job.py | 1094 | except Exception as exc: | CODE |
| LOW | gallery_dl/job.py | 1113 | except Exception: | CODE |
| LOW | gallery_dl/cache.py | 32 | except Exception as exc: | CODE |
| 269 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_results.py | 620 | CODE | |
| LOW | test/test_results.py | 113 | CODE | |
| LOW | test/test_results.py | 332 | CODE | |
| LOW | scripts/generate_test_result.py | 53 | CODE | |
| LOW | scripts/generate_test_result.py | 112 | CODE | |
| LOW | scripts/generate_test_result.py | 196 | CODE | |
| LOW | scripts/supportedsites.py | 676 | CODE | |
| LOW | scripts/man.py | 111 | CODE | |
| LOW | scripts/man.py | 229 | CODE | |
| LOW | scripts/rm.py | 28 | CODE | |
| LOW | scripts/rm.py | 47 | CODE | |
| LOW | scripts/requirements.py | 20 | CODE | |
| LOW | scripts/requirements.py | 106 | CODE | |
| LOW | scripts/requirements.py | 133 | CODE | |
| LOW | scripts/requirements.py | 157 | CODE | |
| LOW | scripts/init.py | 32 | CODE | |
| LOW | gallery_dl/update.py | 162 | CODE | |
| LOW | gallery_dl/cookies.py | 127 | CODE | |
| LOW | gallery_dl/cookies.py | 216 | CODE | |
| LOW | gallery_dl/cookies.py | 356 | CODE | |
| LOW | gallery_dl/cookies.py | 1002 | CODE | |
| LOW | gallery_dl/cookies.py | 1113 | CODE | |
| LOW | gallery_dl/formatter.py | 296 | CODE | |
| LOW | gallery_dl/formatter.py | 156 | CODE | |
| LOW | gallery_dl/config.py | 33 | CODE | |
| LOW | gallery_dl/config.py | 216 | CODE | |
| LOW | gallery_dl/config.py | 278 | CODE | |
| LOW | gallery_dl/config.py | 310 | CODE | |
| LOW | gallery_dl/option.py | 95 | CODE | |
| LOW | gallery_dl/ytdl.py | 81 | CODE | |
| LOW | gallery_dl/util.py | 337 | CODE | |
| LOW | gallery_dl/util.py | 980 | CODE | |
| LOW | gallery_dl/util.py | 1077 | CODE | |
| LOW | gallery_dl/util.py | 1208 | CODE | |
| LOW | gallery_dl/aes.py | 557 | CODE | |
| LOW | gallery_dl/job.py | 210 | CODE | |
| LOW | gallery_dl/job.py | 339 | CODE | |
| LOW | gallery_dl/job.py | 418 | CODE | |
| LOW | gallery_dl/job.py | 530 | CODE | |
| LOW | gallery_dl/job.py | 620 | CODE | |
| LOW | gallery_dl/job.py | 695 | CODE | |
| LOW | gallery_dl/job.py | 948 | CODE | |
| LOW | gallery_dl/actions.py | 36 | CODE | |
| LOW | gallery_dl/__init__.py | 22 | CODE | |
| LOW | gallery_dl/__init__.py | 485 | CODE | |
| LOW | gallery_dl/text.py | 321 | CODE | |
| LOW | gallery_dl/text.py | 342 | CODE | |
| LOW | gallery_dl/path.py | 28 | CODE | |
| LOW | gallery_dl/path.py | 258 | CODE | |
| LOW | gallery_dl/path.py | 273 | CODE | |
| LOW | gallery_dl/path.py | 318 | CODE | |
| LOW | gallery_dl/path.py | 350 | CODE | |
| LOW | gallery_dl/path.py | 385 | CODE | |
| LOW | gallery_dl/output.py | 352 | CODE | |
| LOW | gallery_dl/output.py | 193 | CODE | |
| LOW | gallery_dl/postprocessor/metadata.py | 20 | CODE | |
| LOW | gallery_dl/postprocessor/ugoira.py | 30 | CODE | |
| LOW | gallery_dl/postprocessor/ugoira.py | 138 | CODE | |
| LOW | gallery_dl/postprocessor/ugoira.py | 168 | CODE | |
| LOW | gallery_dl/postprocessor/ugoira.py | 246 | CODE | |
| 139 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_postprocessor.py | 615 | def test_metadata_json_options(self): | STRING |
| LOW | test/test_postprocessor.py | 684 | def test_metadata_tags_tagstring(self): | STRING |
| LOW | test/test_postprocessor.py | 693 | def test_metadata_tags_list_of_dict(self): | STRING |
| LOW | test/test_postprocessor.py | 782 | def test_metadata_directory_format(self): | STRING |
| LOW | test/test_postprocessor.py | 794 | def test_metadata_directory_empty(self): | STRING |
| LOW | test/test_postprocessor.py | 805 | def test_metadata_basedirectory(self): | STRING |
| LOW | test/test_postprocessor.py | 814 | def test_metadata_basedirectory_custom(self): | STRING |
| LOW | test/test_postprocessor.py | 914 | def test_metadata_option_skip(self): | STRING |
| LOW | test/test_postprocessor.py | 938 | def test_metadata_option_skip_false(self): | STRING |
| LOW | test/test_postprocessor.py | 948 | def test_metadata_option_newline(self): | STRING |
| LOW | test/test_postprocessor.py | 970 | def test_metadata_option_include(self): | STRING |
| LOW | test/test_postprocessor.py | 985 | def test_metadata_option_exclude(self): | STRING |
| LOW | test/test_job.py | 94 | def test_parent_metadata_extractor(self): | CODE |
| LOW | test/test_cookies.py | 146 | def test_check_cookies_domain(self): | STRING |
| LOW | test/test_cookies.py | 171 | def test_check_cookies_domain_sub(self): | STRING |
| LOW | test/test_cookies.py | 198 | def test_check_cookies_expires(self): | STRING |
| LOW | test/test_ytdl.py | 63 | def test_authentication_options(self): | CODE |
| LOW | test/test_ytdl.py | 332 | def test_process_entries_restart_propagation(self): | CODE |
| LOW | test/test_ytdl.py | 345 | def test_process_entries_ignoreerrors_true(self): | CODE |
| LOW | test/test_ytdl.py | 361 | def test_process_entries_ignoreerrors_false(self): | CODE |
| LOW | test/test_output.py | 118 | def test_shorten_eaw_separator(self, f=output.shorten_string_eaw): | CODE |
| LOW | test/test_output.py | 130 | def test_shorten_eaw_separator_wide(self, f=output.shorten_string_eaw): | CODE |
| LOW | test/test_output.py | 142 | def test_shorten_eaw_separator_mix_(self, f=output.shorten_string_eaw): | CODE |
| LOW | test/test_util.py | 204 | def test_predicate_tags_negate(self): | CODE |
| LOW | test/test_util.py | 269 | def test_predicate_tags_multi(self): | CODE |
| LOW | test/test_util.py | 296 | def test_predicate_tags_minus(self): | CODE |
| LOW | test/test_util.py | 410 | def test_predicate_date_before(self): | CODE |
| LOW | test/test_util.py | 433 | def test_predicate_date_after(self): | CODE |
| LOW | test/test_util.py | 622 | def test_compile_expression_raw(self): | CODE |
| LOW | test/test_util.py | 633 | def test_compile_expression_tryexcept(self): | CODE |
| LOW | test/test_util.py | 641 | def test_compile_expression_defaultdict(self): | CODE |
| LOW | test/test_util.py | 868 | def test_build_selection_func(self, f=util.build_selection_func): | STRING |
| LOW | test/test_util.py | 908 | def test_build_duration_func_ex(self, f=util.build_duration_func_ex): | STRING |
| LOW | test/test_text.py | 235 | def test_filename_from_contentdisposition( | CODE |
| LOW | test/test_text.py | 467 | def test_parse_unicode_escapes(self, f=text.parse_unicode_escapes): | CODE |
| LOW | test/test_formatter.py | 151 | def test_missing_custom_default(self): | CODE |
| LOW | test/test_formatter.py | 286 | def test_specifier_maxlen_bytes(self): | CODE |
| LOW | test/test_formatter.py | 336 | def test_specifier_offset_local(self): | CODE |
| LOW | test/test_formatter.py | 366 | def test_specifier_arithmetic(self): | CODE |
| LOW | test/test_formatter.py | 371 | def test_specifier_conversions(self): | CODE |
| LOW | test/test_formatter.py | 383 | def test_specifier_limit_bytes(self): | CODE |
| LOW | test/test_extractor.py | 306 | def test_date_min_max_default(self): | CODE |
| LOW | test/test_extractor.py | 317 | def test_date_min_max_timestamp(self): | CODE |
| LOW | test/test_extractor.py | 335 | def test_date_min_max_iso_invalid(self): | CODE |
| LOW | test/test_path.py | 135 | def test_generate_path_windows(self): | CODE |
| LOW | test/test_path.py | 216 | def test_option_basedirectory(self): | CODE |
| LOW | test/test_path.py | 229 | def test_option_keywordsdefault(self): | CODE |
| LOW | test/test_path.py | 244 | def test_option_extensionmap_default(self): | CODE |
| LOW | test/test_path.py | 267 | def test_option_extensionmap_custom(self): | CODE |
| LOW | test/test_path.py | 320 | def test_option_pathrestrict_custom(self): | CODE |
| LOW | test/test_downloader.py | 278 | def test_http_adjust_extension(self): | CODE |
| LOW | test/test_downloader.py | 328 | class HttpRequestHandler(http.server.BaseHTTPRequestHandler): | CODE |
| LOW | test/test_cache.py | 163 | def test_invalidate_mem_simple(self): | CODE |
| LOW | scripts/rm.py | 28 | def remove_from_docs_configurationrst(args, path): | CODE |
| LOW | scripts/rm.py | 47 | def remove_from_docs_gallerydlconf(args, path): | CODE |
| LOW | scripts/rm.py | 62 | def remove_from_extractor_init(args, path): | CODE |
| LOW | scripts/rm.py | 72 | def remove_from_scripts_supportedsites(args, path): | CODE |
| LOW | scripts/rm.py | 84 | def update_docs_supportedsites(args, path): | CODE |
| LOW | scripts/init.py | 92 | def generate_extractors_basic(args): | STRING |
| LOW | scripts/init.py | 124 | def generate_extractors_manga(args): | STRING |
| 58 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | snap/snapcraft.yaml | 4 | # ------------------------------ | COMMENT |
| MEDIUM | gallery_dl/cookies.py | 213 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/cookies.py | 307 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/cookies.py | 408 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/cookies.py | 680 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/cookies.py | 868 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/config.py | 19 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/config.py | 29 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/actions.py | 175 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | gallery_dl/output.py | 17 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/output.py | 63 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/output.py | 325 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/output.py | 369 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/postprocessor/__init__.py | 46 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/downloader/__init__.py | 43 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/extractor/__init__.py | 304 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/extractor/oauth.py | 248 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/extractor/oauth.py | 308 | # -------------------------------------------------------------------- | COMMENT |
| MEDIUM | gallery_dl/extractor/oauth.py | 410 | # -------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/test_dt.py | 97 | self.assertEqual(f(0) , null) | CODE |
| HIGH | test/test_dt.py | 98 | self.assertEqual(f("0") , null) | CODE |
| HIGH | scripts/completion_zsh.py | 23 | %(opts)s && rc=0 | CODE |
| HIGH | gallery_dl/option.py | 978 | "Example: --exec \"convert {} {}.png && rm {}\""), | CODE |
| HIGH | gallery_dl/util.py | 1007 | return true | CODE |
| HIGH | gallery_dl/util.py | 1144 | return true | CODE |
| HIGH | gallery_dl/extractor/facebook.py | 134 | photo_page, '{"node":{"id"', '"cursor":null}' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONTRIBUTING.md | 11 | Do not submit code that was primarily generated by AI tools. | CODE |
| HIGH | .github/PULL_REQUEST_TEMPLATE.md | 9 | Do not submit code that was primarily generated by AI tools. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_text.py | 447 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. | CODE |
| LOW | test/test_text.py | 447 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. | CODE |
| LOW⚡ | test/test_formatter.py | 40 | {"name": "John Doe" , "age": 42, "email": "jd@example.org"}, | CODE |
| LOW⚡ | test/test_formatter.py | 40 | {"name": "John Doe" , "age": 42, "email": "jd@example.org"}, | CODE |
| LOW⚡ | test/test_formatter.py | 49 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. | CODE |
| LOW⚡ | test/test_formatter.py | 49 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. | CODE |
| LOW | test/test_formatter.py | 396 | "['John Doe', 'Jane Smith', 'Max Mustermann']") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/test_ytdl.py | 15 | CODE | |
| LOW | test/test_text.py | 15 | CODE | |
| LOW | test/test_formatter.py | 18 | CODE | |
| LOW | test/test_extractor.py | 20 | CODE | |
| LOW | test/test_extractor.py | 22 | CODE | |
| LOW | test/test_downloader.py | 25 | CODE | |
| LOW | gallery_dl/dt.py | 13 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/test_oauth.py | 149 | CODE | |
| MEDIUM | test/test_oauth.py | 153 | CODE | |
| MEDIUM | gallery_dl/extractor/common.py | 112 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | snap/snapcraft.yaml | 5 | # This file is in the YAML data serialization format: | COMMENT |
| MEDIUM | gallery_dl/extractor/generic.py | 214 | # Create the image metadata dict and add imageurl to it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/results/discord.py | 21 | }, | COMMENT |
| LOW | test/results/discord.py | 41 | # "#parent_id" : "1306705919916249098", | COMMENT |
| LOW | snap/snapcraft.yaml | 1 | %YAML 1.1 | COMMENT |
| LOW | gallery_dl/version.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | gallery_dl/extractor/utils/twitter_transaction_id.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gallery_dl/text.py | 167 | Extract the text between 'begin' and 'end' from 'txt' Args: txt: String to search in begin: First s | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gallery_dl/aes.py | 296 | CODE | |
| LOW | gallery_dl/aes.py | 524 | CODE | |
| LOW | gallery_dl/extractor/common.py | 147 | CODE | |
| LOW | gallery_dl/extractor/sexcom.py | 190 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/results/mangareader.py | 117 | "description" : """To everyone else in his magic-dominated world, the young and powerless Mash Vandead is a threat | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gallery_dl/extractor/cfake.py | 112 | # Check if next page link exists anywhere in the page | COMMENT |