浏览代码

Move several steps closer to python3 compatibility

Signed-off-by: Igor Ch <[email protected]>
Igor Ch 10 年之前
父节点
当前提交
f1fc1d7a16
共有 7 个文件被更改,包括 10 次插入8 次删除
  1. 1 1
      compose/cli/command.py
  2. 1 1
      compose/cli/log_printer.py
  3. 1 0
      compose/container.py
  4. 1 0
      compose/project.py
  5. 2 2
      compose/service.py
  6. 1 1
      requirements.txt
  7. 3 3
      tests/integration/service_test.py

+ 1 - 1
compose/cli/command.py

@@ -25,7 +25,7 @@ class Command(DocoptCommand):
     def dispatch(self, *args, **kwargs):
         try:
             super(Command, self).dispatch(*args, **kwargs)
-        except SSLError, e:
+        except SSLError as e:
             raise errors.UserError('SSL error: %s' % e)
         except ConnectionError:
             if call_silently(['which', 'docker']) != 0:

+ 1 - 1
compose/cli/log_printer.py

@@ -46,7 +46,7 @@ class LogPrinter(object):
             if monochrome:
                 color_fn = no_color
             else:
-                color_fn = color_fns.next()
+                color_fn = next(color_fns)
             generators.append(self._make_log_generator(container, color_fn))
 
         return generators

+ 1 - 0
compose/container.py

@@ -2,6 +2,7 @@ from __future__ import unicode_literals
 from __future__ import absolute_import
 
 import six
+from functools import reduce
 
 
 class Container(object):

+ 1 - 0
compose/project.py

@@ -2,6 +2,7 @@ from __future__ import unicode_literals
 from __future__ import absolute_import
 import logging
 
+from functools import reduce
 from .service import Service
 from .container import Container
 from docker.errors import APIError

+ 2 - 2
compose/service.py

@@ -482,7 +482,7 @@ class Service(object):
 
         try:
             all_events = stream_output(build_output, sys.stdout)
-        except StreamOutputError, e:
+        except StreamOutputError as e:
             raise BuildError(self, unicode(e))
 
         image_id = None
@@ -641,7 +641,7 @@ def merge_environment(options):
         else:
             env.update(options['environment'])
 
-    return dict(resolve_env(k, v) for k, v in env.iteritems())
+    return dict(resolve_env(k, v) for k, v in env.items())
 
 
 def split_env(env):

+ 1 - 1
requirements.txt

@@ -4,5 +4,5 @@ dockerpty==0.3.2
 docopt==0.6.1
 requests==2.2.1
 six==1.7.3
-texttable==0.8.1
+texttable==0.8.2
 websocket-client==0.11.0

+ 3 - 3
tests/integration/service_test.py

@@ -472,13 +472,13 @@ class ServiceTest(DockerClientTestCase):
     def test_split_env(self):
         service = self.create_service('web', environment=['NORMAL=F1', 'CONTAINS_EQUALS=F=2', 'TRAILING_EQUALS='])
         env = create_and_start_container(service).environment
-        for k,v in {'NORMAL': 'F1', 'CONTAINS_EQUALS': 'F=2', 'TRAILING_EQUALS': ''}.iteritems():
+        for k,v in {'NORMAL': 'F1', 'CONTAINS_EQUALS': 'F=2', 'TRAILING_EQUALS': ''}.items():
             self.assertEqual(env[k], v)
 
     def test_env_from_file_combined_with_env(self):
         service = self.create_service('web', environment=['ONE=1', 'TWO=2', 'THREE=3'], env_file=['tests/fixtures/env/one.env', 'tests/fixtures/env/two.env'])
         env = create_and_start_container(service).environment
-        for k,v in {'ONE': '1', 'TWO': '2', 'THREE': '3', 'FOO': 'baz', 'DOO': 'dah'}.iteritems():
+        for k,v in {'ONE': '1', 'TWO': '2', 'THREE': '3', 'FOO': 'baz', 'DOO': 'dah'}.items():
             self.assertEqual(env[k], v)
 
     def test_resolve_env(self):
@@ -488,7 +488,7 @@ class ServiceTest(DockerClientTestCase):
         os.environ['ENV_DEF'] = 'E3'
         try:
             env = create_and_start_container(service).environment
-            for k,v in {'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': ''}.iteritems():
+            for k,v in {'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': ''}.items():
                 self.assertEqual(env[k], v)
         finally:
             del os.environ['FILE_DEF']