soimort/you-get · error · NotImplementedError
Flickr extractor is not supported for %s.
Error message
Flickr extractor is not supported for %s.
What it means
Raised as NotImplementedError by fetch_photo_url_list (src/you_get/extractors/flickr.py:166). It iterates the module's url_patterns table trying to classify the URL; if no pattern's first element matches, there is no known extractor method for that URL shape and it gives up.
Source
Thrown at src/you_get/extractors/flickr.py:166
url, title = get_single_photo_url(url)
urls = [url]
else:
urls, title = fetch_photo_url_list(url, size)
index = 0
for url in urls:
mime, ext, size = url_info(url)
print_info('Flickr.com', title, mime, size)
if not info_only:
suffix = '[%d]' % index
download_urls([url], title + suffix, ext, False, output_dir, None, False, False)
index = index + 1
def fetch_photo_url_list(url, size):
for pattern in url_patterns:
# FIXME: fix multiple matching since the match group is dropped
if match1(url, pattern[0]):
return fetch_photo_url_list_impl(url, size, *pattern[1:])
raise NotImplementedError('Flickr extractor is not supported for %s.' % url)
def fetch_photo_url_list_impl(url, size, method, id_field, id_parse_func, collection_name):
page = get_html(url)
api_key = get_api_key(page)
ext_field = ''
if id_parse_func:
ext_field = '&%s=%s' % (id_field, id_parse_func(url, page))
page_number = 1
urls = []
while True:
call_url = tmpl_api_call % (api_key, method, ext_field, page_number)
photoset = json.loads(get_content_headered(call_url))[collection_name]
pagen = photoset['page']
pages = photoset['pages']
for info in photoset['photo']:
url = get_url_of_largest(info, api_key, size)
urls.append(url)
page_number = page_number + 1View on GitHub (pinned to 049548f3f3)
Solutions
- Use a canonical desktop Flickr URL form known to be supported (compare with the regexes in url_patterns in flickr.py).
- Expand the flickr.com URL from any short link before passing it in.
- Add a new (pattern, method, id_field, parse_func, collection) entry to url_patterns for the new URL shape.
Example fix
# before
fetch_photo_url_list('https://www.flickr.com/photos/user/123456789789/some/new/path', 'o')
# NotImplementedError: Flickr extractor is not supported for %s.
# after: use the supported canonical photo URL form
fetch_photo_url_list('https://www.flickr.com/photos/user/123456789789', 'o') Defensive patterns
Strategy: validation
Validate before calling
import re
from you_get.extractors.flickr import url_patterns
def flickr_url_supported(url):
return any(re.match(p[0], url) for p in url_patterns) Try / catch
try:
flickr_download(url, output_dir)
except NotImplementedError as e:
if 'Flickr extractor is not supported' in str(e):
expand_url_and_retry(url) # e.g. resolve flic.kr short links first
else:
raise Prevention
- Normalize Flickr URLs to canonical photo/photoset forms before calling.
- Resolve short links (flic.kr) yourself so the pattern table can match.
When it happens
Trigger: Calling flickr_download with a Flickr URL that matches none of the entries in url_patterns (the supported photo/photoset/gallery/group URL forms). Examples: new URL layouts, URLs with extra path segments or different subdomains.
Common situations: Flickr rolling out new URL formats (e.g. new-style photo pages or migration paths); users passing a mobile or flic.kr short link the pattern list does not cover; URLs with tracking parameters changing the shape.
Related errors
- Playlist is not supported for
- Unknown url pattern
- %s not supported
- Share not found or canceled: %s
- Server returned an error: %s (Incorrect password?)
AI-assisted analysis of soimort/you-get@049548f3f3 (2026-08-15).
Data as JSON: /api/errors/7f60eb87f50fe454.
Report an issue: GitHub.