ports/189497: Deluge not downloading blocklist

George Amanakis g_amanakis at yahoo.com
Fri May 9 08:50:02 UTC 2014


>Number:         189497
>Category:       ports
>Synopsis:       Deluge not downloading blocklist
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri May 09 08:50:01 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     George Amanakis
>Release:        9.2-RELEASE-p5
>Organization:
>Environment:
FreeBSD hostname 9.2-RELEASE-p5 FreeBSD 9.2-RELEASE-p5 #1: Mon May  5 11:10:55 CEST 2014     root at hostname:/usr/obj/usr/src/sys/GEN_ipsec_altq  amd64
>Description:
The following bug exists on the port of Deluge:
Enabling the Blocklist plugin and attempting to download a list fails. The scenario was tested with deluged running as daemon on FreeBSD (built from ports) and a remote GTK-Interface on Windows (official prebuild-binaries) or on Archlinux (through the official repo). Culprit is the httpdownloader.py has not been updated to work with twisted > 13.1.0.

>How-To-Repeat:
See above.
>Fix:
The following patch resolves the problem:

--- httpdownloader.py.org       2014-05-08 23:36:46.000000000 +0200
+++ httpdownloader.py   2014-05-09 00:05:43.000000000 +0200
@@ -191,8 +191,18 @@
         if not headers:
             headers = {}
         headers["accept-encoding"] = "deflate, gzip, x-gzip"
+
+# In twisted 13.1.0 the _parse() function was replaced by the _URI class
+    if hasattr(client, '_parse'):
+       scheme, host, port, path = client._parse(url)
+    else:
+       from twisted.web.client import _URI
+       uri = _URI.fromBytes(url)
+       scheme = uri.scheme
+       host = uri.host
+       port = uri.port
+       path = uri.path

-    scheme, host, port, path = client._parse(url)
     factory = HTTPDownloader(url, filename, callback, headers, force_filename, allow_compression)
     if scheme == "https":
         from twisted.internet import ssl

Patch attached with submission follows:

--- httpdownloader.py.org	2014-05-08 23:36:46.000000000 +0200
+++ httpdownloader.py	2014-05-09 00:05:43.000000000 +0200
@@ -191,8 +191,18 @@
         if not headers:
             headers = {}
         headers["accept-encoding"] = "deflate, gzip, x-gzip"
+	
+# In twisted 13.1.0 the _parse() function was replaced by the _URI class 
+    if hasattr(client, '_parse'):
+    	scheme, host, port, path = client._parse(url)
+    else:
+	from twisted.web.client import _URI
+	uri = _URI.fromBytes(url)
+	scheme = uri.scheme
+	host = uri.host
+	port = uri.port
+	path = uri.path
 
-    scheme, host, port, path = client._parse(url)
     factory = HTTPDownloader(url, filename, callback, headers, force_filename, allow_compression)
     if scheme == "https":
         from twisted.internet import ssl


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list