Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 May 2014 08:40:16 GMT
From:      George Amanakis <g_amanakis@yahoo.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/189497: Deluge not downloading blocklist
Message-ID:  <201405090840.s498eGQf014755@cgiserv.freebsd.org>
Resent-Message-ID: <201405090850.s498o1it033238@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405090840.s498eGQf014755>