[python-urlgrabber] timedhosts: sanity check on dl_time
Zdeněk Pavlas
zpavlas at fedoraproject.org
Mon May 21 07:24:00 UTC 2012
commit 4cd10e5be9e25f97f3a03593bae4458a2048d1df
Author: Zdeněk Pavlas <zpavlas at redhat.com>
Date: Mon May 21 09:23:23 2012 +0200
timedhosts: sanity check on dl_time
file-url-profiling.patch | 32 ++++++++++++++++++++++++++++++++
python-urlgrabber.spec | 5 ++++-
2 files changed, 36 insertions(+), 1 deletions(-)
---
diff --git a/file-url-profiling.patch b/file-url-profiling.patch
index 2fd1f3c..610f5d3 100644
--- a/file-url-profiling.patch
+++ b/file-url-profiling.patch
@@ -63,3 +63,35 @@ index 094be77..be85f92 100644
default_speed = default_grabber.opts.default_speed
try: speed, fail, ts = _TH.hosts[host]
except KeyError: return default_speed
+commit fa6a17c29e9dea3ccd2d384039b305f027a5b75e
+Author: Zdeněk Pavlas <zpavlas at redhat.com>
+Date: Mon May 21 09:06:13 2012 +0200
+
+ timedhosts: sanity check on dl_time
+
+ - handle the dl_time <= 0 case
+
+ - relative validity of calculated speed now depends
+ on dl_time instead of dl_size. (that's where the
+ random error is)
+
+diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
+index be85f92..73e14aa 100644
+--- a/urlgrabber/grabber.py
++++ b/urlgrabber/grabber.py
+@@ -2301,11 +2301,12 @@ class _TH:
+
+ if ug_err is None:
+ # k1: the older, the less useful
+- # k2: if it was <1MiB, don't trust it much
++ # k2: <500ms readings are less reliable
+ # speeds vary, use 10:1 smoothing
+ k1 = 2**((ts - now) / default_grabber.opts.half_life)
+- k2 = min(dl_size / 1e6, 1.0) / 10
+- speed = (k1 * speed + k2 * dl_size / dl_time) / (k1 + k2)
++ k2 = min(dl_time / .500, 1.0) / 10
++ if k2 > 0:
++ speed = (k1 * speed + k2 * dl_size / dl_time) / (k1 + k2)
+ fail = 0
+ elif getattr(ug_err, 'code', None) == 404:
+ fail = 0 # alive, at least
diff --git a/python-urlgrabber.spec b/python-urlgrabber.spec
index fc9909e..86ddaf6 100644
--- a/python-urlgrabber.spec
+++ b/python-urlgrabber.spec
@@ -3,7 +3,7 @@
Summary: A high-level cross-protocol url-grabber
Name: python-urlgrabber
Version: 3.9.1
-Release: 13%{?dist}
+Release: 14%{?dist}
Source0: urlgrabber-%{version}.tar.gz
Patch1: urlgrabber-HEAD.patch
Patch2: multi-downloader.patch
@@ -48,6 +48,9 @@ rm -rf $RPM_BUILD_ROOT
%attr(0755,root,root) /usr/libexec/urlgrabber-ext-down
%changelog
+* Mon May 21 2012 Zdeněk Pavlas <zpavlas at redhat.com> - 3.9.1-14
+- timedhosts: sanity check on dl_time
+
* Fri May 18 2012 Zdeněk Pavlas <zpavlas at redhat.com> - 3.9.1-13
- fix file:// profiling. BZ 822632.
More information about the scm-commits
mailing list