All classes:
- urlextract.cachefile.CacheFileError
- urlextract.cachefile.CacheFile
- urlextract.urlextract_core.URLExtract
- urlextract.urlextract_core.URLExtractError
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: -1
    functionName: '...fuzz_find_urls'
    functionSourceFile: '...fuzz_find_urls'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - urlextract.urlextract_core.URLExtract._get_after_tld_chars
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - filelock.FileLock
    - idna.decode
    - re.compile
    - <builtin>.open
    - os.path.join
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - tempfile.gettempdir
    - tlds.append
    - urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    - atheris.instrument_all
    - atheris.Fuzz
    - os.makedirs
    - <builtin>.zip
    - <builtin>.super
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - line.strip
    - urlextract.urlextract_core.URLExtract.__init__
    - re.escape
    - os.path.exists
    - set_of_tlds.add
    - <builtin>.set
    - '...fuzz_find_urls.main'
    - os.path.dirname
    - platformdirs.user_cache_dir
    - <builtin>.str
    - os.access
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f9ffc9f09d0>
    - <ast.Constant object at 0x7f9ffc9f09a0>
    - <ast.Constant object at 0x7f9ffc9f0970>
    - <ast.Name object at 0x7f9ffc9f0940>
    - <ast.Constant object at 0x7f9ffc9f0910>
    argNames:
    - self
    - extract_email
    - cache_dns
    - extract_localhost
    - limit
    - allow_mixed_case_hostname
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 77
    functionName: urlextract.urlextract_core.URLExtract.__init__
    functionSourceFile: urlextract.urlextract_core
    functionUses: 4
    functionsReached:
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - urlextract.urlextract_core.URLExtract._get_after_tld_chars
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - filelock.FileLock
    - idna.decode
    - re.compile
    - <builtin>.open
    - os.path.join
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - tempfile.gettempdir
    - tlds.append
    - urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    - os.makedirs
    - <builtin>.zip
    - <builtin>.super
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - line.strip
    - re.escape
    - os.path.exists
    - set_of_tlds.add
    - <builtin>.set
    - os.path.dirname
    - platformdirs.user_cache_dir
    - <builtin>.str
    - os.access
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 28
    functionName: '...fuzz_find_urls.TestOneInput'
    functionSourceFile: '...fuzz_find_urls'
    functionUses: 0
    functionsReached:
    - result_urls.append
    - url_parts.getuserinfo
    - s.islower
    - <builtin>.all
    - extended_tld.endswith
    - urlextract.urlextract_core.URLExtract.find_urls
    - collections.OrderedDict.fromkeys
    - urlextract.urlextract_core.URLExtract._complete_url
    - <builtin>.isinstance
    - rest_url.find
    - text_url.find
    - urlextract.urlextract_core.URLExtract._get_tld_pos
    - url_parts.getport
    - tmp_text.find
    - url_parts.getfragment
    - <builtin>.max
    - fdp.ConsumeUnicodeNoSurrogates
    - fdp.ConsumeIntInRange
    - urlextract.urlextract_core.dns_cache_install
    - <builtin>.any
    - dns.resolver.LRUCache
    - s.isalpha
    - <builtin>.range
    - socket.gethostbyname
    - enclosure_map.keys
    - urlextract.urlextract_core.URLExtract._validate_tld_match
    - <builtin>.next
    - host_tld.lower
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - complete_url.strip
    - tld.lower
    - url.lower
    - complete_url.startswith
    - <builtin>.str
    - url_parts.getquery
    - s.isupper
    - <builtin>.min
    - url.find
    - <builtin>.ord
    - dns.resolver.Resolver
    - url_parts.authority.startswith
    - <builtin>.len
    - urlextract.urlextract_core.URLExtract._split_markdown
    - host.rfind
    - uritools.urisplit
    - text_url.rfind
    - url_parts.gethost
    - enclosure_map.get
    - host.split
    - url_parts.getpath
    - urlextract.urlextract_core.URLExtract.gen_urls
    - dns.resolver.override_system_resolver
    - atheris.FuzzedDataProvider
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - dns_cache.resolver.ExceptionCachingResolver
    - <builtin>.list
    - matched_tlds.pop
    - enclosure_map.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeIntInRange
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f9ffd274490>
    - <ast.Constant object at 0x7f9ffd274bb0>
    - <ast.Constant object at 0x7f9ffd274a90>
    - <ast.Constant object at 0x7f9ffd2745b0>
    argNames:
    - self
    - text
    - only_unique
    - check_dns
    - get_indices
    - with_schema_only
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 922
    functionName: urlextract.urlextract_core.URLExtract.find_urls
    functionSourceFile: urlextract.urlextract_core
    functionUses: 4
    functionsReached:
    - result_urls.append
    - url_parts.getuserinfo
    - s.islower
    - <builtin>.all
    - extended_tld.endswith
    - collections.OrderedDict.fromkeys
    - urlextract.urlextract_core.URLExtract._complete_url
    - <builtin>.isinstance
    - rest_url.find
    - text_url.find
    - urlextract.urlextract_core.URLExtract._get_tld_pos
    - url_parts.getport
    - tmp_text.find
    - url_parts.getfragment
    - <builtin>.max
    - urlextract.urlextract_core.dns_cache_install
    - <builtin>.any
    - dns.resolver.LRUCache
    - s.isalpha
    - <builtin>.range
    - socket.gethostbyname
    - enclosure_map.keys
    - urlextract.urlextract_core.URLExtract._validate_tld_match
    - <builtin>.next
    - host_tld.lower
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - complete_url.strip
    - tld.lower
    - url.lower
    - complete_url.startswith
    - <builtin>.str
    - url_parts.getquery
    - s.isupper
    - <builtin>.min
    - url.find
    - <builtin>.ord
    - dns.resolver.Resolver
    - url_parts.authority.startswith
    - <builtin>.len
    - urlextract.urlextract_core.URLExtract._split_markdown
    - host.rfind
    - uritools.urisplit
    - url_parts.gethost
    - text_url.rfind
    - enclosure_map.get
    - host.split
    - url_parts.getpath
    - urlextract.urlextract_core.URLExtract.gen_urls
    - dns.resolver.override_system_resolver
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - dns_cache.resolver.ExceptionCachingResolver
    - <builtin>.list
    - matched_tlds.pop
    - enclosure_map.values
    linkageType: pythonLinkage
    raised:
    - URLExtractError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: '...fuzz_find_urls.main'
    functionSourceFile: '...fuzz_find_urls'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Setup
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlextract
    functionSourceFile: urlextract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: -1
    functionName: urlextract.urlextract_core
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - url_parts.getuserinfo
    - s.islower
    - urlextract.urlextract_core.URLExtract.update
    - tmp_text.find
    - re.compile
    - urlextract.urlextract_core.URLExtract.get_version
    - <builtin>.max
    - urlextract.urlextract_core.dns_cache_install
    - sys.exit
    - tlds.append
    - urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    - ftld.write
    - datetime.datetime.fromtimestamp
    - urlextract.urlextract_core._urlextract_cli.get_args
    - urlextract.urlextract_core.URLExtract.load_permit_list
    - os.makedirs
    - <builtin>.next
    - <builtin>.zip
    - url.lower
    - parser.parse_args
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - set_of_tlds.add
    - datetime.datetime.now
    - text_url.rfind
    - host.split
    - argparse.FileType
    - urlextract.urlextract_core.URLExtract.gen_urls
    - dns.resolver.override_system_resolver
    - functools.wraps
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - args.input_file.read
    - <builtin>.all
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - urlextract.urlextract_core.URLExtract._get_after_tld_chars
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - <builtin>.isinstance
    - rest_url.find
    - url_parts.getfragment
    - idna.decode
    - os.path.getmtime
    - <builtin>.open
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - os.path.join
    - <builtin>.print
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.urlextract_core.URLExtract.__init__
    - url.find
    - url_parts.authority.startswith
    - urlextract.urlextract_core.URLExtract._split_markdown
    - url_parts.gethost
    - url_parts.getpath
    - os.path.dirname
    - platformdirs.user_cache_dir
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - urlextract.urlextract_core.URLExtract.update_when_older
    - matched_tlds.pop
    - urlextract.urlextract_core._urlextract_cli
    - <builtin>.sorted
    - urlextract.urlextract_core.URLExtract.load_ignore_list
    - result_urls.append
    - urlextract.cachefile.CacheFile._get_last_cachefile_modification
    - extended_tld.endswith
    - collections.OrderedDict.fromkeys
    - urlextract.urlextract_core.URLExtract._complete_url
    - urlextract.urlextract_core.report_issue
    - req.add_header
    - text_url.find
    - url_parts.getport
    - filelock.FileLock
    - s.isalpha
    - socket.gethostbyname
    - urlextract.cachefile.CacheFile._download_tlds_list
    - datetime.timedelta
    - complete_url.strip
    - tld.lower
    - urllib.request.Request
    - complete_url.startswith
    - url_parts.getquery
    - s.isupper
    - line.strip
    - args.input_file.close
    - re.escape
    - os.path.exists
    - uritools.urisplit
    - enclosure_map.get
    - <builtin>.set
    - <builtin>.str
    - urlextract.urlextract_core.URLExtract.find_urls
    - f.read
    - parser.add_argument
    - urlextract.urlextract_core.URLExtract._get_tld_pos
    - <builtin>.any
    - tempfile.gettempdir
    - argparse.ArgumentParser
    - urllib.request.urlopen
    - <builtin>.range
    - logging.getLogger
    - enclosure_map.keys
    - urlextract.urlextract_core.URLExtract._validate_tld_match
    - host_tld.lower
    - <builtin>.super
    - <builtin>.min
    - <builtin>.ord
    - dns.resolver.Resolver
    - <builtin>.len
    - host.rfind
    - logging.basicConfig
    - logger.error
    - dns_cache.resolver.ExceptionCachingResolver
    - <builtin>.list
    - dns.resolver.LRUCache
    - enclosure_map.values
    - os.access
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: urlextract.urlextract_core.URLExtract
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - <builtin>.reversed
    - re.compile
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.reversed
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 143
    functionName: urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    functionSourceFile: urlextract.urlextract_core
    functionUses: 7
    functionsReached:
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - filelock.FileLock
    - idna.decode
    - re.compile
    - <builtin>.open
    - os.path.join
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - tempfile.gettempdir
    - tlds.append
    - os.makedirs
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - line.strip
    - re.escape
    - os.path.exists
    - set_of_tlds.add
    - <builtin>.set
    - os.path.dirname
    - platformdirs.user_cache_dir
    - <builtin>.str
    - os.access
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: urlextract.urlextract_core.URLExtract._get_after_tld_chars
    functionSourceFile: urlextract.urlextract_core
    functionUses: 7
    functionsReached:
    - <builtin>.set
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 220
    functionName: urlextract.cachefile.CacheFile._load_cached_tlds
    functionSourceFile: urlextract.cachefile
    functionUses: 8
    functionsReached:
    - os.path.exists
    - tempfile.gettempdir
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - <builtin>.set
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - os.path.join
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - line.strip
    - os.path.dirname
    - os.makedirs
    - filelock.FileLock
    - os.access
    - idna.decode
    - platformdirs.user_cache_dir
    - set_of_tlds.add
    - <builtin>.open
    - urlextract.cachefile.CacheFile._get_cache_file_path
    linkageType: pythonLinkage
    raised:
    - CacheFileError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tlds.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - extract
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 166
    functionName: urlextract.urlextract_core.URLExtract.extract_email
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - allow_mixed_case
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: urlextract.urlextract_core.URLExtract.allow_mixed_case_hostname
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - enable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 202
    functionName: urlextract.urlextract_core.URLExtract.extract_localhost
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ignore_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 222
    functionName: urlextract.urlextract_core.URLExtract.ignore_list
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 230
    functionName: urlextract.urlextract_core.URLExtract.load_ignore_list
    functionSourceFile: urlextract.urlextract_core
    functionUses: 3
    functionsReached:
    - line.strip
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.strip
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - permit_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 254
    functionName: urlextract.urlextract_core.URLExtract.permit_list
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - file_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: urlextract.urlextract_core.URLExtract.load_permit_list
    functionSourceFile: urlextract.urlextract_core
    functionUses: 3
    functionsReached:
    - line.strip
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 275
    functionName: urlextract.urlextract_core.URLExtract.update
    functionSourceFile: urlextract.urlextract_core
    functionUses: 4
    functionsReached:
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - f.read
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - req.add_header
    - filelock.FileLock
    - idna.decode
    - re.compile
    - <builtin>.open
    - os.path.join
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - tempfile.gettempdir
    - tlds.append
    - urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    - urllib.request.urlopen
    - ftld.write
    - urlextract.cachefile.CacheFile._download_tlds_list
    - os.makedirs
    - urllib.request.Request
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - line.strip
    - re.escape
    - os.path.exists
    - set_of_tlds.add
    - <builtin>.set
    - os.path.dirname
    - platformdirs.user_cache_dir
    - <builtin>.str
    - os.access
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 163
    functionName: urlextract.cachefile.CacheFile._download_tlds_list
    functionSourceFile: urlextract.cachefile
    functionUses: 5
    functionsReached:
    - urllib.request.Request
    - tempfile.gettempdir
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urllib.request.urlopen
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - os.path.join
    - f.read
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - ftld.write
    - os.path.dirname
    - req.add_header
    - os.makedirs
    - filelock.FileLock
    - platformdirs.user_cache_dir
    - os.access
    - os.path.exists
    - <builtin>.open
    - urlextract.cachefile.CacheFile._get_cache_file_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - days
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 289
    functionName: urlextract.urlextract_core.URLExtract.update_when_older
    functionSourceFile: urlextract.urlextract_core
    functionUses: 3
    functionsReached:
    - urlextract.cachefile.CacheFile._get_last_cachefile_modification
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - urlextract.urlextract_core.URLExtract.update
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - f.read
    - req.add_header
    - filelock.FileLock
    - idna.decode
    - re.compile
    - os.path.getmtime
    - <builtin>.open
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - os.path.join
    - tempfile.gettempdir
    - tlds.append
    - urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    - urllib.request.urlopen
    - ftld.write
    - datetime.datetime.fromtimestamp
    - urlextract.cachefile.CacheFile._download_tlds_list
    - os.makedirs
    - datetime.timedelta
    - urllib.request.Request
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - line.strip
    - re.escape
    - os.path.exists
    - set_of_tlds.add
    - datetime.datetime.now
    - <builtin>.set
    - os.path.dirname
    - platformdirs.user_cache_dir
    - <builtin>.str
    - os.access
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 254
    functionName: urlextract.cachefile.CacheFile._get_last_cachefile_modification
    functionSourceFile: urlextract.cachefile
    functionUses: 4
    functionsReached:
    - datetime.datetime.fromtimestamp
    - os.path.getmtime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.timedelta
    functionSourceFile: datetime
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 311
    functionName: urlextract.urlextract_core.URLExtract.get_version
    functionSourceFile: urlextract.urlextract_core
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: urlextract.urlextract_core.URLExtract.get_after_tld_chars
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - after_tld_chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: urlextract.urlextract_core.URLExtract.set_after_tld_chars
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 340
    functionName: urlextract.urlextract_core.URLExtract.get_stop_chars_left
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stop_chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 349
    functionName: urlextract.urlextract_core.URLExtract.set_stop_chars_left
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 365
    functionName: urlextract.urlextract_core.URLExtract.get_stop_chars_left_from_scheme
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stop_chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 374
    functionName: urlextract.urlextract_core.URLExtract.set_stop_chars_left_from_scheme
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 390
    functionName: urlextract.urlextract_core.URLExtract.get_stop_chars_right
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stop_chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 399
    functionName: urlextract.urlextract_core.URLExtract.set_stop_chars_right
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 415
    functionName: urlextract.urlextract_core.URLExtract.get_enclosures
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - left_char
    - right_char
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 425
    functionName: urlextract.urlextract_core.URLExtract.add_enclosure
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - <builtin>.set
    - <builtin>.len
    - urlextract.urlextract_core.URLExtract._get_after_tld_chars
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - left_char
    - right_char
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 439
    functionName: urlextract.urlextract_core.URLExtract.remove_enclosure
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - <builtin>.zip
    - <builtin>.set
    - <builtin>.len
    - urlextract.urlextract_core.URLExtract._get_after_tld_chars
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 30
    ICount: 1
    IfCount: 21
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f9ffd2de730>
    - <ast.Constant object at 0x7f9ffd2ded00>
    argNames:
    - self
    - text
    - tld_pos
    - tld
    - check_dns
    - with_schema_only
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 454
    functionName: urlextract.urlextract_core.URLExtract._complete_url
    functionSourceFile: urlextract.urlextract_core
    functionUses: 7
    functionsReached:
    - url_parts.getuserinfo
    - s.islower
    - <builtin>.all
    - extended_tld.endswith
    - <builtin>.isinstance
    - text_url.find
    - url_parts.getport
    - url_parts.getfragment
    - <builtin>.max
    - urlextract.urlextract_core.dns_cache_install
    - <builtin>.any
    - dns.resolver.LRUCache
    - s.isalpha
    - <builtin>.range
    - socket.gethostbyname
    - enclosure_map.keys
    - host_tld.lower
    - complete_url.strip
    - tld.lower
    - complete_url.startswith
    - url_parts.getquery
    - s.isupper
    - <builtin>.min
    - url.find
    - <builtin>.ord
    - dns.resolver.Resolver
    - url_parts.authority.startswith
    - <builtin>.len
    - urlextract.urlextract_core.URLExtract._split_markdown
    - uritools.urisplit
    - text_url.rfind
    - enclosure_map.get
    - url_parts.gethost
    - host.split
    - url_parts.getpath
    - dns.resolver.override_system_resolver
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - dns_cache.resolver.ExceptionCachingResolver
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - enclosure_map.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extended_tld.endswith
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - text_url
    - tld_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 811
    functionName: urlextract.urlextract_core.URLExtract._split_markdown
    functionSourceFile: urlextract.urlextract_core
    functionUses: 8
    functionsReached:
    - text_url.rfind
    - text_url.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - text_url
    - tld_pos
    - tld
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 757
    functionName: urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    functionSourceFile: urlextract.urlextract_core
    functionUses: 8
    functionsReached:
    - <builtin>.len
    - enclosure_map.get
    - text_url.rfind
    - <builtin>.range
    - <builtin>.max
    - enclosure_map.keys
    - <builtin>.min
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - enclosure_map.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enclosure_map.values
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enclosure_map.keys
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: complete_url.strip
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: complete_url.startswith
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 30
    ICount: 7
    IfCount: 21
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9ffd02e040>
    - <ast.Constant object at 0x7f9ffd02e220>
    argNames:
    - self
    - url
    - tld
    - check_dns
    - with_schema_only
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 607
    functionName: urlextract.urlextract_core.URLExtract._is_domain_valid
    functionSourceFile: urlextract.urlextract_core
    functionUses: 8
    functionsReached:
    - url_parts.getuserinfo
    - s.islower
    - <builtin>.all
    - <builtin>.isinstance
    - url_parts.getport
    - url_parts.getfragment
    - urlextract.urlextract_core.dns_cache_install
    - s.isalpha
    - socket.gethostbyname
    - host_tld.lower
    - tld.lower
    - url_parts.getquery
    - s.isupper
    - url.find
    - dns.resolver.Resolver
    - url_parts.authority.startswith
    - <builtin>.len
    - uritools.urisplit
    - url_parts.gethost
    - host.split
    - url_parts.getpath
    - dns.resolver.override_system_resolver
    - dns_cache.resolver.ExceptionCachingResolver
    - dns.resolver.LRUCache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - text
    - matched_tld
    - tld_pos
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 583
    functionName: urlextract.urlextract_core.URLExtract._validate_tld_match
    functionSourceFile: urlextract.urlextract_core
    functionUses: 7
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url.find
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uritools.urisplit
    functionSourceFile: uritools
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.authority.startswith
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.getuserinfo
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.getport
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.getpath
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.getquery
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.getfragment
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_parts.gethost
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.islower
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.isalpha
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.isupper
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.split
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host_tld.lower
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tld.lower
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1157
    functionName: urlextract.urlextract_core.dns_cache_install
    functionSourceFile: urlextract.urlextract_core
    functionUses: 9
    functionsReached:
    - dns.resolver.Resolver
    - dns_cache.resolver.ExceptionCachingResolver
    - dns.resolver.LRUCache
    - dns.resolver.override_system_resolver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.gethostbyname
    functionSourceFile: socket
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text_url.rfind
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enclosure_map.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text_url.find
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - url
    - tld
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 841
    functionName: urlextract.urlextract_core.URLExtract._get_tld_pos
    functionSourceFile: urlextract.urlextract_core
    functionUses: 7
    functionsReached:
    - host.rfind
    - uritools.urisplit
    - url_parts.gethost
    - url.find
    - <builtin>.str
    - tld.lower
    - url.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url.lower
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.rfind
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f9ffd018100>
    - <ast.Constant object at 0x7f9ffd018550>
    - <ast.Constant object at 0x7f9ffd018310>
    argNames:
    - self
    - text
    - check_dns
    - get_indices
    - with_schema_only
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 861
    functionName: urlextract.urlextract_core.URLExtract.gen_urls
    functionSourceFile: urlextract.urlextract_core
    functionUses: 6
    functionsReached:
    - url_parts.getuserinfo
    - s.islower
    - <builtin>.all
    - extended_tld.endswith
    - urlextract.urlextract_core.URLExtract._complete_url
    - <builtin>.isinstance
    - rest_url.find
    - text_url.find
    - urlextract.urlextract_core.URLExtract._get_tld_pos
    - url_parts.getport
    - tmp_text.find
    - url_parts.getfragment
    - <builtin>.max
    - urlextract.urlextract_core.dns_cache_install
    - <builtin>.any
    - dns.resolver.LRUCache
    - s.isalpha
    - <builtin>.range
    - socket.gethostbyname
    - enclosure_map.keys
    - urlextract.urlextract_core.URLExtract._validate_tld_match
    - host_tld.lower
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - complete_url.strip
    - tld.lower
    - url.lower
    - complete_url.startswith
    - <builtin>.str
    - url_parts.getquery
    - s.isupper
    - <builtin>.min
    - url.find
    - <builtin>.ord
    - dns.resolver.Resolver
    - url_parts.authority.startswith
    - <builtin>.len
    - urlextract.urlextract_core.URLExtract._split_markdown
    - host.rfind
    - uritools.urisplit
    - text_url.rfind
    - url_parts.gethost
    - enclosure_map.get
    - host.split
    - url_parts.getpath
    - dns.resolver.override_system_resolver
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - dns_cache.resolver.ExceptionCachingResolver
    - matched_tlds.pop
    - enclosure_map.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: matched_tlds.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp_text.find
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rest_url.find
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.fromkeys
    functionSourceFile: collections
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result_urls.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f9ffc9fa910>
    - <ast.Constant object at 0x7f9ffc9fa8e0>
    argNames:
    - self
    - text
    - check_dns
    - with_schema_only
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 977
    functionName: urlextract.urlextract_core.URLExtract.has_urls
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - url_parts.getuserinfo
    - s.islower
    - <builtin>.all
    - extended_tld.endswith
    - urlextract.urlextract_core.URLExtract._complete_url
    - <builtin>.isinstance
    - rest_url.find
    - text_url.find
    - urlextract.urlextract_core.URLExtract._get_tld_pos
    - url_parts.getport
    - tmp_text.find
    - url_parts.getfragment
    - <builtin>.max
    - urlextract.urlextract_core.dns_cache_install
    - <builtin>.any
    - dns.resolver.LRUCache
    - s.isalpha
    - <builtin>.range
    - socket.gethostbyname
    - enclosure_map.keys
    - urlextract.urlextract_core.URLExtract._validate_tld_match
    - host_tld.lower
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - complete_url.strip
    - tld.lower
    - url.lower
    - complete_url.startswith
    - <builtin>.str
    - url_parts.getquery
    - s.isupper
    - <builtin>.min
    - url.find
    - <builtin>.ord
    - dns.resolver.Resolver
    - url_parts.authority.startswith
    - <builtin>.len
    - urlextract.urlextract_core.URLExtract._split_markdown
    - host.rfind
    - uritools.urisplit
    - text_url.rfind
    - url_parts.gethost
    - enclosure_map.get
    - host.split
    - url_parts.getpath
    - urlextract.urlextract_core.URLExtract.gen_urls
    - dns.resolver.override_system_resolver
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - dns_cache.resolver.ExceptionCachingResolver
    - matched_tlds.pop
    - enclosure_map.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - message
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1003
    functionName: urlextract.urlextract_core.URLExtractError.__init__
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1008
    functionName: urlextract.urlextract_core.report_issue
    functionSourceFile: urlextract.urlextract_core
    functionUses: 1
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1012
    functionName: urlextract.urlextract_core.report_issue.wrapper_urlextract_cli
    functionSourceFile: urlextract.urlextract_core
    functionUses: 0
    functionsReached:
    - url_parts.getuserinfo
    - s.islower
    - urlextract.urlextract_core.URLExtract.update
    - tmp_text.find
    - re.compile
    - urlextract.urlextract_core.URLExtract.get_version
    - <builtin>.max
    - urlextract.urlextract_core.dns_cache_install
    - sys.exit
    - tlds.append
    - urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    - ftld.write
    - datetime.datetime.fromtimestamp
    - urlextract.urlextract_core._urlextract_cli.get_args
    - urlextract.urlextract_core.URLExtract.load_permit_list
    - os.makedirs
    - <builtin>.next
    - <builtin>.zip
    - url.lower
    - parser.parse_args
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - set_of_tlds.add
    - datetime.datetime.now
    - text_url.rfind
    - host.split
    - argparse.FileType
    - urlextract.urlextract_core.URLExtract.gen_urls
    - dns.resolver.override_system_resolver
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - args.input_file.read
    - <builtin>.all
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - urlextract.urlextract_core.URLExtract._get_after_tld_chars
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - <builtin>.isinstance
    - rest_url.find
    - url_parts.getfragment
    - idna.decode
    - os.path.getmtime
    - <builtin>.open
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - os.path.join
    - <builtin>.print
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.urlextract_core.URLExtract.__init__
    - url.find
    - url_parts.authority.startswith
    - urlextract.urlextract_core.URLExtract._split_markdown
    - url_parts.gethost
    - url_parts.getpath
    - os.path.dirname
    - platformdirs.user_cache_dir
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - urlextract.urlextract_core.URLExtract.update_when_older
    - matched_tlds.pop
    - urlextract.urlextract_core._urlextract_cli
    - <builtin>.sorted
    - urlextract.urlextract_core.URLExtract.load_ignore_list
    - result_urls.append
    - urlextract.cachefile.CacheFile._get_last_cachefile_modification
    - extended_tld.endswith
    - collections.OrderedDict.fromkeys
    - urlextract.urlextract_core.URLExtract._complete_url
    - req.add_header
    - text_url.find
    - url_parts.getport
    - filelock.FileLock
    - s.isalpha
    - socket.gethostbyname
    - urlextract.cachefile.CacheFile._download_tlds_list
    - datetime.timedelta
    - complete_url.strip
    - tld.lower
    - urllib.request.Request
    - complete_url.startswith
    - url_parts.getquery
    - s.isupper
    - line.strip
    - args.input_file.close
    - re.escape
    - os.path.exists
    - uritools.urisplit
    - enclosure_map.get
    - <builtin>.set
    - <builtin>.str
    - urlextract.urlextract_core.URLExtract.find_urls
    - f.read
    - parser.add_argument
    - urlextract.urlextract_core.URLExtract._get_tld_pos
    - <builtin>.any
    - tempfile.gettempdir
    - argparse.ArgumentParser
    - urllib.request.urlopen
    - <builtin>.range
    - logging.getLogger
    - enclosure_map.keys
    - urlextract.urlextract_core.URLExtract._validate_tld_match
    - host_tld.lower
    - <builtin>.super
    - <builtin>.min
    - <builtin>.ord
    - dns.resolver.Resolver
    - <builtin>.len
    - host.rfind
    - logging.basicConfig
    - logger.error
    - dns_cache.resolver.ExceptionCachingResolver
    - <builtin>.list
    - dns.resolver.LRUCache
    - enclosure_map.values
    - os.access
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 11
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1029
    functionName: urlextract.urlextract_core._urlextract_cli
    functionSourceFile: urlextract.urlextract_core
    functionUses: 2
    functionsReached:
    - url_parts.getuserinfo
    - s.islower
    - urlextract.urlextract_core.URLExtract.update
    - tmp_text.find
    - re.compile
    - urlextract.urlextract_core.URLExtract.get_version
    - <builtin>.max
    - urlextract.urlextract_core.dns_cache_install
    - sys.exit
    - tlds.append
    - urlextract.urlextract_core.URLExtract._reload_tlds_from_file
    - ftld.write
    - datetime.datetime.fromtimestamp
    - urlextract.urlextract_core._urlextract_cli.get_args
    - urlextract.urlextract_core.URLExtract.load_permit_list
    - os.makedirs
    - <builtin>.next
    - <builtin>.zip
    - url.lower
    - parser.parse_args
    - urlextract.cachefile.CacheFile._load_cached_tlds
    - set_of_tlds.add
    - datetime.datetime.now
    - text_url.rfind
    - host.split
    - argparse.FileType
    - urlextract.urlextract_core.URLExtract.gen_urls
    - dns.resolver.override_system_resolver
    - urlextract.urlextract_core.URLExtract._is_domain_valid
    - args.input_file.read
    - <builtin>.all
    - urlextract.cachefile.CacheFile._get_cache_lock_file_path
    - urlextract.urlextract_core.URLExtract._get_after_tld_chars
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - <builtin>.isinstance
    - rest_url.find
    - url_parts.getfragment
    - idna.decode
    - os.path.getmtime
    - <builtin>.open
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - os.path.join
    - <builtin>.print
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.urlextract_core.URLExtract.__init__
    - url.find
    - url_parts.authority.startswith
    - urlextract.urlextract_core.URLExtract._split_markdown
    - url_parts.gethost
    - url_parts.getpath
    - os.path.dirname
    - platformdirs.user_cache_dir
    - urlextract.urlextract_core.URLExtract._remove_enclosure_from_url
    - urlextract.urlextract_core.URLExtract.update_when_older
    - matched_tlds.pop
    - <builtin>.sorted
    - urlextract.urlextract_core.URLExtract.load_ignore_list
    - result_urls.append
    - urlextract.cachefile.CacheFile._get_last_cachefile_modification
    - extended_tld.endswith
    - collections.OrderedDict.fromkeys
    - urlextract.urlextract_core.URLExtract._complete_url
    - req.add_header
    - text_url.find
    - url_parts.getport
    - filelock.FileLock
    - s.isalpha
    - socket.gethostbyname
    - urlextract.cachefile.CacheFile._download_tlds_list
    - datetime.timedelta
    - complete_url.strip
    - tld.lower
    - urllib.request.Request
    - complete_url.startswith
    - url_parts.getquery
    - s.isupper
    - line.strip
    - args.input_file.close
    - re.escape
    - os.path.exists
    - uritools.urisplit
    - enclosure_map.get
    - <builtin>.set
    - <builtin>.str
    - urlextract.urlextract_core.URLExtract.find_urls
    - f.read
    - parser.add_argument
    - urlextract.urlextract_core.URLExtract._get_tld_pos
    - <builtin>.any
    - tempfile.gettempdir
    - argparse.ArgumentParser
    - urllib.request.urlopen
    - <builtin>.range
    - logging.getLogger
    - enclosure_map.keys
    - urlextract.urlextract_core.URLExtract._validate_tld_match
    - host_tld.lower
    - <builtin>.super
    - <builtin>.min
    - <builtin>.ord
    - dns.resolver.Resolver
    - <builtin>.len
    - host.rfind
    - logging.basicConfig
    - logger.error
    - dns_cache.resolver.ExceptionCachingResolver
    - <builtin>.list
    - dns.resolver.LRUCache
    - enclosure_map.values
    - os.access
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1039
    functionName: urlextract.urlextract_core._urlextract_cli.get_args
    functionSourceFile: urlextract.urlextract_core
    functionUses: 3
    functionsReached:
    - argparse.ArgumentParser
    - argparse.FileType
    - parser.add_argument
    - parser.parse_args
    - urlextract.urlextract_core.URLExtract.get_version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argparse.ArgumentParser
    functionSourceFile: argparse
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.add_argument
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argparse.FileType
    functionSourceFile: argparse
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_args
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.basicConfig
    functionSourceFile: logging
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.input_file.read
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.error
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exit
    functionSourceFile: sys
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.input_file.close
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns_cache.resolver.ExceptionCachingResolver
    functionSourceFile: dns_cache
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns.resolver.LRUCache
    functionSourceFile: dns
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns.resolver.Resolver
    functionSourceFile: dns
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns.resolver.override_system_resolver
    functionSourceFile: dns
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlextract.cachefile
    functionSourceFile: urlextract.cachefile
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f9ffcc21820>
    argNames:
    - self
    - cache_dir
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 41
    functionName: urlextract.cachefile.CacheFile.__init__
    functionSourceFile: urlextract.cachefile
    functionUses: 0
    functionsReached:
    - urlextract.cachefile.CacheFile._get_default_cache_file_path
    - tempfile.gettempdir
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - os.path.join
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - logging.getLogger
    - os.path.dirname
    - os.makedirs
    - platformdirs.user_cache_dir
    - os.path.exists
    - os.access
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 129
    functionName: urlextract.cachefile.CacheFile._get_cache_file_path
    functionSourceFile: urlextract.cachefile
    functionUses: 12
    functionsReached:
    - tempfile.gettempdir
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - os.path.dirname
    - os.makedirs
    - os.access
    - platformdirs.user_cache_dir
    - os.path.exists
    - os.path.join
    linkageType: pythonLinkage
    raised:
    - CacheFileError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.access
    functionSourceFile: os
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: urlextract.cachefile.CacheFile._get_default_cache_file_path
    functionSourceFile: urlextract.cachefile
    functionUses: 1
    functionsReached:
    - os.path.dirname
    - os.path.join
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - os.access
    linkageType: pythonLinkage
    raised:
    - CacheFileError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: urlextract.cachefile.CacheFile._get_default_cache_dir
    functionSourceFile: urlextract.cachefile
    functionUses: 15
    functionsReached:
    - os.path.dirname
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: os
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 96
    functionName: urlextract.cachefile.CacheFile._get_writable_cache_dir
    functionSourceFile: urlextract.cachefile
    functionUses: 13
    functionsReached:
    - tempfile.gettempdir
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - os.path.join
    - os.path.dirname
    - os.makedirs
    - platformdirs.user_cache_dir
    - os.path.exists
    - os.access
    linkageType: pythonLinkage
    raised:
    - CacheFileError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platformdirs.user_cache_dir
    functionSourceFile: platformdirs
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: os
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.makedirs
    functionSourceFile: os
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.gettempdir
    functionSourceFile: tempfile
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 153
    functionName: urlextract.cachefile.CacheFile._get_cache_lock_file_path
    functionSourceFile: urlextract.cachefile
    functionUses: 10
    functionsReached:
    - tempfile.gettempdir
    - urlextract.cachefile.CacheFile._get_default_cache_dir
    - urlextract.cachefile.CacheFile._get_cache_file_path
    - urlextract.cachefile.CacheFile._get_writable_cache_dir
    - os.path.dirname
    - os.makedirs
    - os.access
    - platformdirs.user_cache_dir
    - os.path.exists
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.Request
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: req.add_header
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.urlopen
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.read
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filelock.FileLock
    functionSourceFile: filelock
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftld.write
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: set_of_tlds.add
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: idna.decode
    functionSourceFile: idna
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.getmtime
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_find_urls':
  - 48
  - 25
  - 47
  '...fuzz_find_urls.TestOneInput':
  - 33
  - 29
  - 30
  '...fuzz_find_urls.main':
  - 42
  - 43
  - 44
  urlextract.cachefile:
  - 3
  urlextract.cachefile.CacheFile:
  - 32
  urlextract.cachefile.CacheFile.__init__:
  - 42
  - 47
  - 53
  - 54
  - 55
  - 60
  - 63
  urlextract.cachefile.CacheFile._download_tlds_list:
  - 164
  - 175
  - 176
  - 177
  - 178
  - 180
  - 181
  - 182
  - 183
  - 185
  - 186
  - 191
  - 192
  - 199
  - 200
  - 202
  - 203
  - 208
  - 209
  - 214
  - 215
  - 216
  urlextract.cachefile.CacheFile._get_cache_file_path:
  - 130
  - 137
  - 140
  - 143
  - 151
  urlextract.cachefile.CacheFile._get_cache_lock_file_path:
  - 161
  - 154
  urlextract.cachefile.CacheFile._get_default_cache_dir:
  - 75
  - 67
  urlextract.cachefile.CacheFile._get_default_cache_file_path:
  - 89
  - 86
  - 85
  - 78
  urlextract.cachefile.CacheFile._get_last_cachefile_modification:
  - 264
  - 268
  - 255
  urlextract.cachefile.CacheFile._get_writable_cache_dir:
  - 97
  - 105
  - 107
  - 111
  - 112
  - 114
  - 120
  - 123
  - 124
  urlextract.cachefile.CacheFile._load_cached_tlds:
  - 229
  - 230
  - 231
  - 236
  - 238
  - 239
  - 240
  - 241
  - 243
  - 246
  - 249
  - 250
  - 221
  urlextract.cachefile.CacheFileError:
  - 26
  urlextract.urlextract_core:
  - 1192
  - 3
  - 1191
  urlextract.urlextract_core.URLExtract:
  - 35
  - 71
  - 72
  - 73
  - 58
  urlextract.urlextract_core.URLExtract.__init__:
  - 129
  - 105
  - 113
  - 118
  - 86
  - 122
  - 125
  urlextract.urlextract_core.URLExtract._complete_url:
  - 516
  - 520
  - 523
  - 528
  - 529
  - 531
  - 534
  - 535
  - 544
  - 546
  - 552
  - 554
  - 556
  - 562
  - 565
  - 569
  - 571
  - 574
  - 576
  - 457
  - 477
  - 482
  - 483
  - 488
  - 490
  - 495
  - 499
  - 504
  - 505
  - 508
  - 510
  urlextract.urlextract_core.URLExtract._get_after_tld_chars:
  - 136
  - 139
  - 132
  - 133
  urlextract.urlextract_core.URLExtract._get_tld_pos:
  - 842
  - 849
  - 851
  - 852
  - 856
  - 857
  urlextract.urlextract_core.URLExtract._is_domain_valid:
  - 647
  - 650
  - 651
  - 652
  - 659
  - 663
  - 668
  - 670
  - 675
  - 676
  - 677
  - 678
  - 679
  - 684
  - 686
  - 691
  - 694
  - 696
  - 697
  - 698
  - 702
  - 705
  - 709
  - 710
  - 714
  - 717
  - 719
  - 722
  - 726
  - 731
  - 734
  - 735
  - 736
  - 610
  - 740
  - 742
  - 743
  - 744
  - 747
  - 750
  - 751
  urlextract.urlextract_core.URLExtract._reload_tlds_from_file:
  - 144
  - 149
  - 151
  - 152
  - 153
  - 154
  urlextract.urlextract_core.URLExtract._remove_enclosure_from_url:
  - 802
  - 803
  - 804
  - 774
  - 806
  - 776
  - 777
  - 791
  - 781
  - 783
  - 784
  - 786
  - 788
  - 758
  - 790
  - 793
  - 794
  urlextract.urlextract_core.URLExtract._split_markdown:
  - 834
  - 835
  - 812
  - 825
  - 827
  - 830
  - 831
  urlextract.urlextract_core.URLExtract._validate_tld_match:
  - 584
  - 593
  - 596
  - 597
  - 598
  - 599
  - 602
  urlextract.urlextract_core.URLExtract.add_enclosure:
  - 426
  - 433
  - 434
  - 435
  - 437
  urlextract.urlextract_core.URLExtract.allow_mixed_case_hostname:
  - 176
  - 185
  urlextract.urlextract_core.URLExtract.extract_email:
  - 158
  - 167
  urlextract.urlextract_core.URLExtract.extract_localhost:
  - 194
  - 203
  urlextract.urlextract_core.URLExtract.find_urls:
  - 961
  - 930
  - 962
  - 965
  - 969
  - 970
  - 973
  - 974
  - 946
  - 952
  - 953
  - 954
  - 955
  - 958
  urlextract.urlextract_core.URLExtract.gen_urls:
  - 897
  - 899
  - 900
  - 906
  - 907
  - 909
  - 910
  - 912
  - 913
  - 915
  - 920
  - 864
  - 876
  - 879
  - 882
  - 883
  - 884
  - 885
  - 893
  - 895
  urlextract.urlextract_core.URLExtract.get_after_tld_chars:
  - 329
  - 322
  urlextract.urlextract_core.URLExtract.get_enclosures:
  - 416
  urlextract.urlextract_core.URLExtract.get_stop_chars_left:
  - 341
  urlextract.urlextract_core.URLExtract.get_stop_chars_left_from_scheme:
  - 366
  urlextract.urlextract_core.URLExtract.get_stop_chars_right:
  - 391
  urlextract.urlextract_core.URLExtract.get_version:
  - 312
  urlextract.urlextract_core.URLExtract.has_urls:
  - 978
  - 989
  - 990
  urlextract.urlextract_core.URLExtract.ignore_list:
  - 213
  - 223
  urlextract.urlextract_core.URLExtract.load_ignore_list:
  - 231
  - 236
  - 237
  - 238
  - 239
  - 241
  urlextract.urlextract_core.URLExtract.load_permit_list:
  - 263
  - 268
  - 269
  - 270
  - 271
  - 273
  urlextract.urlextract_core.URLExtract.permit_list:
  - 245
  - 255
  urlextract.urlextract_core.URLExtract.remove_enclosure:
  - 449
  - 450
  - 452
  - 440
  - 446
  - 447
  urlextract.urlextract_core.URLExtract.set_after_tld_chars:
  - 338
  - 332
  urlextract.urlextract_core.URLExtract.set_stop_chars_left:
  - 357
  - 350
  urlextract.urlextract_core.URLExtract.set_stop_chars_left_from_scheme:
  - 382
  - 375
  urlextract.urlextract_core.URLExtract.set_stop_chars_right:
  - 400
  - 407
  urlextract.urlextract_core.URLExtract.update:
  - 282
  - 276
  - 285
  urlextract.urlextract_core.URLExtract.update_when_older:
  - 290
  - 299
  - 300
  - 301
  - 303
  - 305
  - 306
  urlextract.urlextract_core.URLExtractError:
  - 995
  urlextract.urlextract_core._urlextract_cli:
  - 1152
  - 1154
  - 1030
  - 1120
  - 1121
  - 1126
  - 1130
  - 1131
  - 1133
  - 1134
  - 1135
  - 1136
  - 1137
  - 1138
  - 1140
  - 1141
  - 1143
  - 1147
  - 1148
  - 1151
  urlextract.urlextract_core._urlextract_cli.get_args:
  - 1088
  - 1063
  - 1097
  - 1071
  - 1040
  - 1041
  - 1103
  - 1108
  - 1079
  - 1047
  - 1048
  - 1112
  - 1052
  - 1117
  - 1055
  urlextract.urlextract_core.dns_cache_install:
  - 1186
  - 1187
  - 1188
  - 1162
  - 1163
  - 1179
  - 1180
  - 1181
  - 1183
  urlextract.urlextract_core.report_issue:
  - 1009
  - 1011
  urlextract.urlextract_core.report_issue.wrapper_urlextract_cli:
  - 1016
  - 1014
Fuzzer filename: /src/fuzz_find_urls.py
Inheritance:
  urlextract.cachefile.CacheFile: []
  urlextract.cachefile.CacheFileError:
  - Exception
  urlextract.urlextract_core.URLExtract:
  - CacheFile
  urlextract.urlextract_core.URLExtractError:
  - Exception
ep:
  func_name: TestOneInput
  module: '...fuzz_find_urls'
