Command-line program to download image galleries and collections from several image hosting sites
700 matches across 14 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_results.py | 357 | except Exception as exc: |
| LOW | test/test_results.py | 379 | except Exception: |
| LOW | test/test_results.py | 401 | except Exception as exc: |
| LOW | test/test_results.py | 594 | except Exception as exc: |
| MEDIUM | test/test_results.py | 585 | def load_test_config(): |
| LOW | test/test_ytdl.py | 276 | except Exception: |
| MEDIUM | test/test_ytdl.py | 23 | def setUpClass(cls): |
| LOW | scripts/run_tests.py | 37 | except Exception as exc: |
| LOW | scripts/util.py | 54 | except Exception: |
| LOW | scripts/supportedsites.py | 616 | except Exception: |
| LOW | scripts/docs_compare.py | 19 | except Exception as exc: |
| LOW | scripts/rm.py | 24 | except Exception: |
| MEDIUM | scripts/rm.py | 21 | def remove_file(args, path): |
| LOW | scripts/init.py | 61 | except Exception as exc: |
| LOW | scripts/hook-gallery_dl.py | 29 | except Exception: |
| LOW | scripts/pyprint.py | 64 | except Exception: |
| MEDIUM | gallery_dl/cookies.py | 311 | def _safari_cookies_database(): |
| MEDIUM | gallery_dl/cookies.py | 778 | def _get_gnome_keyring_password(browser_keyring_name): |
| MEDIUM | gallery_dl/cookies.py | 934 | def __enter__(self): |
| LOW | gallery_dl/cookies.py | 151 | except Exception as exc: |
| LOW | gallery_dl/cookies.py | 724 | except Exception as exc: |
| LOW | gallery_dl/cookies.py | 772 | except Exception as exc: |
| LOW | gallery_dl/cookies.py | 841 | except Exception as exc: |
| LOW | gallery_dl/cookies.py | 945 | except Exception as exc: |
| LOW | gallery_dl/formatter.py | 44 | except Exception as exc: |
| LOW | gallery_dl/formatter.py | 163 | except Exception: |
| LOW | gallery_dl/formatter.py | 173 | except Exception: |
| LOW | gallery_dl/formatter.py | 191 | except Exception: |
| MEDIUM | gallery_dl/formatter.py | 158 | def wrap(_): |
| MEDIUM | gallery_dl/formatter.py | 168 | def wrap(kwdict): |
| LOW | gallery_dl/config.py | 150 | except Exception as exc: |
| LOW | gallery_dl/config.py | 176 | except Exception as exc: |
| LOW | gallery_dl/config.py | 230 | except Exception as exc: |
| LOW | gallery_dl/config.py | 260 | except Exception: |
| LOW | gallery_dl/config.py | 273 | except Exception: |
| LOW | gallery_dl/config.py | 291 | except Exception: |
| LOW | gallery_dl/config.py | 303 | except Exception: |
| LOW | gallery_dl/config.py | 328 | except Exception: |
| LOW | gallery_dl/config.py | 359 | except Exception: |
| LOW | gallery_dl/option.py | 993 | except Exception: |
| LOW | gallery_dl/util.py | 233 | except Exception: |
| LOW | gallery_dl/util.py | 408 | except Exception: |
| LOW | gallery_dl/util.py | 823 | except Exception: |
| LOW | gallery_dl/util.py | 1040 | except Exception as exc: |
| MEDIUM | gallery_dl/util.py | 363 | def git_head(): |
| MEDIUM | gallery_dl/util.py | 548 | def __getitem__(self, key, modules=sys.modules): |
| MEDIUM | gallery_dl/util.py | 1035 | def _pred(_, kwdict): |
| LOW | gallery_dl/dt.py | 58 | except Exception: |
| LOW | gallery_dl/dt.py | 74 | except Exception: |
| LOW | gallery_dl/dt.py | 86 | except Exception: |
| LOW | gallery_dl/dt.py | 101 | except Exception: |
| LOW | gallery_dl/dt.py | 114 | except Exception: |
| LOW | gallery_dl/aes.py | 17 | except Exception as exc: |
| LOW | gallery_dl/job.py | 187 | except Exception as exc: |
| LOW | gallery_dl/job.py | 366 | except Exception as exc: |
| LOW | gallery_dl/job.py | 731 | except Exception as exc: |
| LOW | gallery_dl/job.py | 837 | except Exception as exc: |
| LOW | gallery_dl/job.py | 1094 | except Exception as exc: |
| LOW | gallery_dl/job.py | 1113 | except Exception: |
| LOW | gallery_dl/cache.py | 32 | except Exception as exc: |
| 269 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_results.py | 620 | |
| LOW | test/test_results.py | 113 | |
| LOW | test/test_results.py | 332 | |
| LOW | scripts/generate_test_result.py | 53 | |
| LOW | scripts/generate_test_result.py | 112 | |
| LOW | scripts/generate_test_result.py | 196 | |
| LOW | scripts/supportedsites.py | 676 | |
| LOW | scripts/man.py | 111 | |
| LOW | scripts/man.py | 229 | |
| LOW | scripts/rm.py | 28 | |
| LOW | scripts/rm.py | 47 | |
| LOW | scripts/requirements.py | 20 | |
| LOW | scripts/requirements.py | 106 | |
| LOW | scripts/requirements.py | 133 | |
| LOW | scripts/requirements.py | 157 | |
| LOW | scripts/init.py | 32 | |
| LOW | gallery_dl/update.py | 162 | |
| LOW | gallery_dl/cookies.py | 127 | |
| LOW | gallery_dl/cookies.py | 216 | |
| LOW | gallery_dl/cookies.py | 356 | |
| LOW | gallery_dl/cookies.py | 1002 | |
| LOW | gallery_dl/cookies.py | 1113 | |
| LOW | gallery_dl/formatter.py | 296 | |
| LOW | gallery_dl/formatter.py | 156 | |
| LOW | gallery_dl/config.py | 33 | |
| LOW | gallery_dl/config.py | 216 | |
| LOW | gallery_dl/config.py | 278 | |
| LOW | gallery_dl/config.py | 310 | |
| LOW | gallery_dl/option.py | 95 | |
| LOW | gallery_dl/ytdl.py | 81 | |
| LOW | gallery_dl/util.py | 337 | |
| LOW | gallery_dl/util.py | 980 | |
| LOW | gallery_dl/util.py | 1077 | |
| LOW | gallery_dl/util.py | 1208 | |
| LOW | gallery_dl/aes.py | 557 | |
| LOW | gallery_dl/job.py | 210 | |
| LOW | gallery_dl/job.py | 339 | |
| LOW | gallery_dl/job.py | 418 | |
| LOW | gallery_dl/job.py | 530 | |
| LOW | gallery_dl/job.py | 620 | |
| LOW | gallery_dl/job.py | 695 | |
| LOW | gallery_dl/job.py | 948 | |
| LOW | gallery_dl/actions.py | 36 | |
| LOW | gallery_dl/__init__.py | 22 | |
| LOW | gallery_dl/__init__.py | 485 | |
| LOW | gallery_dl/text.py | 321 | |
| LOW | gallery_dl/text.py | 342 | |
| LOW | gallery_dl/path.py | 28 | |
| LOW | gallery_dl/path.py | 258 | |
| LOW | gallery_dl/path.py | 273 | |
| LOW | gallery_dl/path.py | 318 | |
| LOW | gallery_dl/path.py | 350 | |
| LOW | gallery_dl/path.py | 385 | |
| LOW | gallery_dl/output.py | 352 | |
| LOW | gallery_dl/output.py | 193 | |
| LOW | gallery_dl/postprocessor/metadata.py | 20 | |
| LOW | gallery_dl/postprocessor/ugoira.py | 30 | |
| LOW | gallery_dl/postprocessor/ugoira.py | 138 | |
| LOW | gallery_dl/postprocessor/ugoira.py | 168 | |
| LOW | gallery_dl/postprocessor/ugoira.py | 246 | |
| 139 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_postprocessor.py | 615 | def test_metadata_json_options(self): |
| LOW | test/test_postprocessor.py | 684 | def test_metadata_tags_tagstring(self): |
| LOW | test/test_postprocessor.py | 693 | def test_metadata_tags_list_of_dict(self): |
| LOW | test/test_postprocessor.py | 782 | def test_metadata_directory_format(self): |
| LOW | test/test_postprocessor.py | 794 | def test_metadata_directory_empty(self): |
| LOW | test/test_postprocessor.py | 805 | def test_metadata_basedirectory(self): |
| LOW | test/test_postprocessor.py | 814 | def test_metadata_basedirectory_custom(self): |
| LOW | test/test_postprocessor.py | 914 | def test_metadata_option_skip(self): |
| LOW | test/test_postprocessor.py | 938 | def test_metadata_option_skip_false(self): |
| LOW | test/test_postprocessor.py | 948 | def test_metadata_option_newline(self): |
| LOW | test/test_postprocessor.py | 970 | def test_metadata_option_include(self): |
| LOW | test/test_postprocessor.py | 985 | def test_metadata_option_exclude(self): |
| LOW | test/test_job.py | 94 | def test_parent_metadata_extractor(self): |
| LOW | test/test_cookies.py | 146 | def test_check_cookies_domain(self): |
| LOW | test/test_cookies.py | 171 | def test_check_cookies_domain_sub(self): |
| LOW | test/test_cookies.py | 198 | def test_check_cookies_expires(self): |
| LOW | test/test_ytdl.py | 63 | def test_authentication_options(self): |
| LOW | test/test_ytdl.py | 332 | def test_process_entries_restart_propagation(self): |
| LOW | test/test_ytdl.py | 345 | def test_process_entries_ignoreerrors_true(self): |
| LOW | test/test_ytdl.py | 361 | def test_process_entries_ignoreerrors_false(self): |
| LOW | test/test_output.py | 118 | def test_shorten_eaw_separator(self, f=output.shorten_string_eaw): |
| LOW | test/test_output.py | 130 | def test_shorten_eaw_separator_wide(self, f=output.shorten_string_eaw): |
| LOW | test/test_output.py | 142 | def test_shorten_eaw_separator_mix_(self, f=output.shorten_string_eaw): |
| LOW | test/test_util.py | 204 | def test_predicate_tags_negate(self): |
| LOW | test/test_util.py | 269 | def test_predicate_tags_multi(self): |
| LOW | test/test_util.py | 296 | def test_predicate_tags_minus(self): |
| LOW | test/test_util.py | 410 | def test_predicate_date_before(self): |
| LOW | test/test_util.py | 433 | def test_predicate_date_after(self): |
| LOW | test/test_util.py | 622 | def test_compile_expression_raw(self): |
| LOW | test/test_util.py | 633 | def test_compile_expression_tryexcept(self): |
| LOW | test/test_util.py | 641 | def test_compile_expression_defaultdict(self): |
| LOW | test/test_util.py | 868 | def test_build_selection_func(self, f=util.build_selection_func): |
| LOW | test/test_util.py | 908 | def test_build_duration_func_ex(self, f=util.build_duration_func_ex): |
| LOW | test/test_text.py | 235 | def test_filename_from_contentdisposition( |
| LOW | test/test_text.py | 467 | def test_parse_unicode_escapes(self, f=text.parse_unicode_escapes): |
| LOW | test/test_formatter.py | 151 | def test_missing_custom_default(self): |
| LOW | test/test_formatter.py | 286 | def test_specifier_maxlen_bytes(self): |
| LOW | test/test_formatter.py | 336 | def test_specifier_offset_local(self): |
| LOW | test/test_formatter.py | 366 | def test_specifier_arithmetic(self): |
| LOW | test/test_formatter.py | 371 | def test_specifier_conversions(self): |
| LOW | test/test_formatter.py | 383 | def test_specifier_limit_bytes(self): |
| LOW | test/test_extractor.py | 306 | def test_date_min_max_default(self): |
| LOW | test/test_extractor.py | 317 | def test_date_min_max_timestamp(self): |
| LOW | test/test_extractor.py | 335 | def test_date_min_max_iso_invalid(self): |
| LOW | test/test_path.py | 135 | def test_generate_path_windows(self): |
| LOW | test/test_path.py | 216 | def test_option_basedirectory(self): |
| LOW | test/test_path.py | 229 | def test_option_keywordsdefault(self): |
| LOW | test/test_path.py | 244 | def test_option_extensionmap_default(self): |
| LOW | test/test_path.py | 267 | def test_option_extensionmap_custom(self): |
| LOW | test/test_path.py | 320 | def test_option_pathrestrict_custom(self): |
| LOW | test/test_downloader.py | 278 | def test_http_adjust_extension(self): |
| LOW | test/test_downloader.py | 328 | class HttpRequestHandler(http.server.BaseHTTPRequestHandler): |
| LOW | test/test_cache.py | 163 | def test_invalidate_mem_simple(self): |
| LOW | scripts/rm.py | 28 | def remove_from_docs_configurationrst(args, path): |
| LOW | scripts/rm.py | 47 | def remove_from_docs_gallerydlconf(args, path): |
| LOW | scripts/rm.py | 62 | def remove_from_extractor_init(args, path): |
| LOW | scripts/rm.py | 72 | def remove_from_scripts_supportedsites(args, path): |
| LOW | scripts/rm.py | 84 | def update_docs_supportedsites(args, path): |
| LOW | scripts/init.py | 92 | def generate_extractors_basic(args): |
| LOW | scripts/init.py | 124 | def generate_extractors_manga(args): |
| 58 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | snap/snapcraft.yaml | 4 | # ------------------------------ |
| MEDIUM | gallery_dl/cookies.py | 213 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/cookies.py | 307 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/cookies.py | 408 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/cookies.py | 680 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/cookies.py | 868 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/config.py | 19 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/config.py | 29 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/actions.py | 175 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/output.py | 17 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/output.py | 63 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/output.py | 325 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/output.py | 369 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/postprocessor/__init__.py | 46 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/downloader/__init__.py | 43 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/extractor/__init__.py | 304 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/extractor/oauth.py | 248 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/extractor/oauth.py | 308 | # -------------------------------------------------------------------- |
| MEDIUM | gallery_dl/extractor/oauth.py | 410 | # -------------------------------------------------------------------- |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | test/test_dt.py | 97 | self.assertEqual(f(0) , null) |
| HIGH | test/test_dt.py | 98 | self.assertEqual(f("0") , null) |
| HIGH | scripts/completion_zsh.py | 23 | %(opts)s && rc=0 |
| HIGH | gallery_dl/option.py | 978 | "Example: --exec \"convert {} {}.png && rm {}\""), |
| HIGH | gallery_dl/util.py | 1007 | return true |
| HIGH | gallery_dl/util.py | 1144 | return true |
| HIGH | gallery_dl/extractor/facebook.py | 134 | photo_page, '{"node":{"id"', '"cursor":null}' |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | CONTRIBUTING.md | 11 | Do not submit code that was primarily generated by AI tools. |
| HIGH | .github/PULL_REQUEST_TEMPLATE.md | 9 | Do not submit code that was primarily generated by AI tools. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_text.py | 447 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. |
| LOW | test/test_text.py | 447 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. |
| LOW | test/test_formatter.py | 40 | {"name": "John Doe" , "age": 42, "email": "jd@example.org"}, |
| LOW | test/test_formatter.py | 49 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. |
| LOW | test/test_formatter.py | 49 | <a href="http://www.example.com">Lorem ipsum dolor sit amet</a>. |
| LOW | test/test_formatter.py | 396 | "['John Doe', 'Jane Smith', 'Max Mustermann']") |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_ytdl.py | 15 | |
| LOW | test/test_text.py | 15 | |
| LOW | test/test_formatter.py | 18 | |
| LOW | test/test_extractor.py | 20 | |
| LOW | test/test_extractor.py | 22 | |
| LOW | test/test_downloader.py | 25 | |
| LOW | gallery_dl/dt.py | 13 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | test/test_oauth.py | 149 | |
| MEDIUM | test/test_oauth.py | 153 | |
| MEDIUM | gallery_dl/extractor/common.py | 112 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | snap/snapcraft.yaml | 5 | # This file is in the YAML data serialization format: |
| MEDIUM | gallery_dl/extractor/generic.py | 214 | # Create the image metadata dict and add imageurl to it |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/results/discord.py | 21 | }, |
| LOW | test/results/discord.py | 41 | # "#parent_id" : "1306705919916249098", |
| LOW | snap/snapcraft.yaml | 1 | %YAML 1.1 |
| LOW | gallery_dl/version.py | 1 | # -*- coding: utf-8 -*- |
| LOW | gallery_dl/extractor/utils/twitter_transaction_id.py | 1 | # -*- coding: utf-8 -*- |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | gallery_dl/text.py | 167 | Extract the text between 'begin' and 'end' from 'txt' Args: txt: String to search in begin: First s |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | test/results/mangareader.py | 117 | "description" : """To everyone else in his magic-dominated world, the young and powerless Mash Vandead is a threat |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | gallery_dl/extractor/cfake.py | 112 | # Check if next page link exists anywhere in the page |