From: Daira Hopwood <daira@jacaranda.org>
Date: Fri, 10 Jul 2015 04:28:11 +0000 (+0100)
Subject: Unconditionally use HTTPConnectionPool, and depend on a Twisted that provides it.
X-Git-Url: https://git.rkrishnan.org/simplejson/components/(%5B%5E?a=commitdiff_plain;h=c27d703757c1624c1bbdef390216dfa692dc42cd;p=tahoe-lafs%2Ftahoe-lafs.git

Unconditionally use HTTPConnectionPool, and depend on a Twisted that provides it.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
---

diff --git a/src/allmydata/_auto_deps.py b/src/allmydata/_auto_deps.py
index 15bf32de..d4f7087d 100644
--- a/src/allmydata/_auto_deps.py
+++ b/src/allmydata/_auto_deps.py
@@ -122,6 +122,8 @@ if not hasattr(sys, 'frozen'):
 #   rekeying bug <https://twistedmatrix.com/trac/ticket/4395>
 # * The FTP frontend depends on Twisted >= 11.1.0 for
 #   filepath.Permissions
+# * The cloud backend depends on Twisted 12.1.0 for HTTPConnectionPool.
+# * IPv6 support will also depend on Twisted 12.1.0.
 #
 # On Windows, Twisted >= 12.2.0 has a dependency on pywin32.
 # Since pywin32 can only be installed manually, we fall back to
@@ -159,7 +161,7 @@ if sys.platform == "win32":
 
 if _use_old_Twisted_and_Nevow:
     install_requires += [
-        "Twisted >= 11.1.0, <= 12.1.0",
+        "Twisted == 12.1.0",
         "Nevow >= 0.9.33, <= 0.10",
     ]
     setup_requires += [req for req in install_requires if req.startswith('Twisted')
diff --git a/src/allmydata/storage/backends/cloud/cloud_common.py b/src/allmydata/storage/backends/cloud/cloud_common.py
index 6cacbaf6..258caf7a 100644
--- a/src/allmydata/storage/backends/cloud/cloud_common.py
+++ b/src/allmydata/storage/backends/cloud/cloud_common.py
@@ -6,12 +6,7 @@ import urllib
 from twisted.internet import defer, reactor, task
 from twisted.python.failure import Failure
 from twisted.web.error import Error
-from twisted.web.client import FileBodyProducer, ResponseDone, Agent
-try:
-    from twisted.web.client import HTTPConnectionPool
-except ImportError:
-    # Old version of Twisted
-    HTTPConnectionPool = None
+from twisted.web.client import FileBodyProducer, ResponseDone, Agent, HTTPConnectionPool
 from twisted.web.http_headers import Headers
 from twisted.internet.protocol import Protocol
 
@@ -708,10 +703,7 @@ class CommonContainerMixin(HTTPClientMixin, ContainerRetryMixin):
     def __init__(self, container_name, override_reactor=None):
         self._container_name = container_name
         self._reactor = override_reactor or reactor
-        if HTTPConnectionPool:
-            self._agent = Agent(self._reactor, pool=HTTPConnectionPool(self._reactor))
-        else:
-            self._agent = Agent(self._reactor)
+        self._agent = Agent(self._reactor, pool=HTTPConnectionPool(self._reactor))
         self.ServiceError = CloudServiceError
 
     def __repr__(self):