diff options
author | mbussolotto <michele.bussolotto@suse.com> | 2022-09-12 17:25:21 +0200 |
---|---|---|
committer | Neal Gompa (ニール・ゴンパ) <ngompa13@gmail.com> | 2022-11-28 21:29:35 -0500 |
commit | 1e6d2debe79efdd1ba2f39913dc808723e51a7f7 (patch) | |
tree | a3683355bda22d32812427b4c2f32d48601154f4 | |
parent | 03fde9ec19f4daf5a096b955b5422a075540cec7 (diff) | |
download | urlgrabber-1e6d2debe79efdd1ba2f39913dc808723e51a7f7.tar.gz |
-rw-r--r-- | urlgrabber/grabber.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py index 88237cc..7afe53e 100644 --- a/urlgrabber/grabber.py +++ b/urlgrabber/grabber.py @@ -657,7 +657,11 @@ def _init_default_logger(logspec=None): try: if logspec is None: logspec = os.environ['URLGRABBER_DEBUG'] - dbinfo = logspec.split(',') + if "," in logspec: + dbinfo = logspec.split(',') + if isinstance(logspec, list): + dbinfo = logspec + import logging if sys.version_info.major == 2: level = logging._levelNames.get(dbinfo[0], None) @@ -978,6 +982,10 @@ class URLGrabberOptions: else: # throttle is a float return self.bandwidth * self.throttle + def set_loglevel(self, logspec): + self.logspec = logspec + _init_default_logger(self.logspec) + def find_proxy(self, url, scheme): """Find the proxy to use for this URL. Use the proxies dictionary first, then libproxy. @@ -1094,6 +1102,7 @@ class URLGrabberOptions: self.ftp_disable_epsv = False self.no_cache = False self.retry_no_cache = False + self.logspec = None def __repr__(self): return self.format() @@ -1197,6 +1206,8 @@ class URLGrabber(object): if DEBUG: DEBUG.debug('combined options: %r' % (opts,)) (url,parts) = opts.urlparser.parse(url, opts) opts.find_proxy(url, parts[0]) + if opts.logspec is not None: + opts.set_loglevel(opts.logspec) def retryfunc(opts, url): return PyCurlFileObject(url, filename=None, opts=opts) return self._retry(opts, retryfunc, url) @@ -1213,6 +1224,10 @@ class URLGrabber(object): (url,parts) = opts.urlparser.parse(url, opts) (scheme, host, path, parm, query, frag) = parts opts.find_proxy(url, scheme) + + if opts.logspec is not None: + opts.set_loglevel(opts.logspec) + if filename is None: filename = os.path.basename(_urlunquote_convert(path)) if not filename: @@ -1282,6 +1297,8 @@ class URLGrabber(object): if DEBUG: DEBUG.debug('combined options: %r' % (opts,)) (url,parts) = opts.urlparser.parse(url, opts) opts.find_proxy(url, parts[0]) + if opts.logspec is not None: + opts.set_loglevel(opts.logspec) if limit is not None: limit = limit + 1 |