From c27d703757c1624c1bbdef390216dfa692dc42cd Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Fri, 10 Jul 2015 05:28:11 +0100 Subject: [PATCH] Unconditionally use HTTPConnectionPool, and depend on a Twisted that provides it. Signed-off-by: Daira Hopwood --- src/allmydata/_auto_deps.py | 4 +++- src/allmydata/storage/backends/cloud/cloud_common.py | 12 ++---------- 2 files changed, 5 insertions(+), 11 deletions(-) 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 # * 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): -- 2.45.2