Bug 2541792 - Random error of execution urlgrabber with Python 3.13.15
Summary: Random error of execution urlgrabber with Python 3.13.15
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: python-urlgrabber
Version: rawhide
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-26 09:50 UTC by Drixter
Modified: 2026-09-26 09:50 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Drixter 2026-09-26 09:50:09 UTC
Hello,

I'm trying to use urlgrabber with Python 3.13.15 but I'm getting a lot of strange errors, it this software still maintained?


Reproducible: Always

Steps to Reproduce:
[NetBSD-drixter@devil:/tmp]$ python3.13 --version
Python 3.13.15

[NetBSD-drixter@devil:/tmp]$ urlgrabber -h
/usr/pkg/bin/urlgrabber:264: SyntaxWarning: invalid escape sequence '\s'
  m = re.search(r'^(  '+option+'.*?)\s*^ {,2}\S',
usage: urlgrabber [options] <url>
urlgrabber - a simple client for the urlgrabber python package
 
options:
  -h, --help        print this message
  --help doc        print basic intro and documentation
  --help options    list available options to the grabber module
  --help <option>   print documentation for a module option
  --help all        print documentation for all module options
  --<option>=VAL    specify a module option. VAL must be a python value,
                    including quotes in the case of strings.
                    e.g.  --user_agent='"foobar/2.0"'
 
  --output FILE
  -o FILE           write output to FILE, otherwise the basename of the
                    url will be used
  -O                print the names of saved files to STDOUT
  --repeat=N        grab each URL N times (mostly for debugging keepalive)
  -p, --progress    use the default text progress meter
  -v                increment the verbosity level (defaults to 0)
  --verbose=N       set the verbosity level to N
  -d SPEC, --debug=SPEC
                    turn on urlgrabber module debugging with
                    SPEC=LEVEL,FILENAME.  e.g. -d 1,debug.txt
  -D                a convenience option equivalent to:
                    --verbose=3 --progress --debug=INFO,-
  --profile         profile the actual fetching and print the results
 
[NetBSD-drixter@devil:/tmp]$ urlgrabber -v https://www.onet.pl
/usr/pkg/bin/urlgrabber:264: SyntaxWarning: invalid escape sequence '\s'
  m = re.search(r'^(  '+option+'.*?)\s*^ {,2}\S',
grabbing: https://www.onet.pl
 
[NetBSD-drixter@devil:/tmp]$ urlgrabber --verbose=10  https://www.onet.pl
/usr/pkg/bin/urlgrabber:264: SyntaxWarning: invalid escape sequence '\s'
  m = re.search(r'^(  '+option+'.*?)\s*^ {,2}\S',
Traceback (most recent call last):
  File "/usr/pkg/bin/urlgrabber", line 329, in <module>
    ugc = ugclient()
  File "/usr/pkg/bin/urlgrabber", line 276, in __init__
    if op.verbose >= 2 and op.ugops:
       ^^^^^^^^^^^^^^^
TypeError: '>=' not supported between instances of 'str' and 'int'
 
[NetBSD-drixter@devil:/tmp]$ urlgrabber --verbose=1  https://www.onet.pl
/usr/pkg/bin/urlgrabber:264: SyntaxWarning: invalid escape sequence '\s'
  m = re.search(r'^(  '+option+'.*?)\s*^ {,2}\S',
Traceback (most recent call last):
  File "/usr/pkg/bin/urlgrabber", line 329, in <module>
    ugc = ugclient()
  File "/usr/pkg/bin/urlgrabber", line 276, in __init__
    if op.verbose >= 2 and op.ugops:
       ^^^^^^^^^^^^^^^
TypeError: '>=' not supported between instances of 'str' and 'int'
 
[NetBSD-drixter@devil:/tmp]$ urlgrabber --help options
/usr/pkg/bin/urlgrabber:264: SyntaxWarning: invalid escape sequence '\s'
  m = re.search(r'^(  '+option+'.*?)\s*^ {,2}\S',
  OPTION               DEFAULT
--------------------------------------
  copy_local         = 0
  keepalive          = 1
  prefix             = None
  reget              = None
  data               = None
  quote              = None
  throttle           = 1.0
  bandwidth          = 0
  proxies            = None
  retry              = None
  retrycodes         = [-1, 2, 4, 5, 6, 7]
  range              = None
  user_agent         = 'urlgrabber/4.0.0'
  http_headers       = None
  ftp_headers        = None
  ssl_ca_cert        = None
  ssl_context        = None
  text               = None
  close_connection   = 0
  cache_openers      = True
  timeout            = 300
  multi_progress_obj = None
  curl_obj           = None
  failfunc           = <function _do_raise at 0x7404004e8ef0>
  ip_resolve         = None
  libproxy           = False
  proxy              = None
  minrate            = None
  username           = None
  password           = None
  ssl_verify_peer    = True
  ssl_verify_host    = True
  ssl_key            = None
  ssl_key_type       = 'PEM'
  ssl_cert           = None
  ssl_cert_type      = 'PEM'
  ssl_key_pass       = None
  size               = None
  max_header_size    = 2097152
  async_             = None
  mirror_group       = None
  max_connections    = 5
  timedhosts         = None
  half_life          = 2592000
  default_speed      = 500000.0
  ftp_disable_epsv   = False
  no_cache           = False
  retry_no_cache     = False
[NetBSD-drixter@devil:/tmp]$
Actual Results:
Errors which come from Python

Expected Results:
No error, should work.

Additional Information:
Tested on NetBSD, but this should not make a problem.


Note You need to log in before you can comment on or make changes to this bug.