... | ... |
@@ -14,10 +14,9 @@ import sys |
14 | 14 |
from .Utils import unicodise, deunicodise, check_bucket_name_dns_support |
15 | 15 |
from . import Config |
16 | 16 |
|
17 |
-if sys.version_info >= (3,0): |
|
18 |
- PY3 = True |
|
19 |
-else: |
|
20 |
- PY3 = False |
|
17 |
+ |
|
18 |
+PY3 = (sys.version_info >= (3, 0)) |
|
19 |
+ |
|
21 | 20 |
|
22 | 21 |
class S3Uri(object): |
23 | 22 |
type = None |
... | ... |
@@ -23,20 +23,32 @@ from __future__ import absolute_import, print_function, division |
23 | 23 |
|
24 | 24 |
import sys |
25 | 25 |
|
26 |
-if float("%d.%d" %(sys.version_info[0], sys.version_info[1])) < 2.6: |
|
26 |
+if sys.version_info < (2, 6): |
|
27 | 27 |
sys.stderr.write(u"ERROR: Python 2.6 or higher required, sorry.\n") |
28 | 28 |
sys.exit(EX_OSFILE) |
29 | 29 |
|
30 |
-import logging |
|
31 |
-import time |
|
32 |
-import os |
|
33 |
-import re |
|
30 |
+PY3 = (sys.version_info >= (3, 0)) |
|
31 |
+ |
|
32 |
+import codecs |
|
34 | 33 |
import errno |
35 | 34 |
import glob |
36 |
-import traceback |
|
37 |
-import codecs |
|
35 |
+import io |
|
38 | 36 |
import locale |
37 |
+import logging |
|
38 |
+import os |
|
39 |
+import re |
|
40 |
+import shutil |
|
41 |
+import socket |
|
39 | 42 |
import subprocess |
43 |
+import tempfile |
|
44 |
+import time |
|
45 |
+import traceback |
|
46 |
+ |
|
47 |
+from copy import copy |
|
48 |
+from optparse import OptionParser, Option, OptionValueError, IndentedHelpFormatter |
|
49 |
+from logging import debug, info, warning, error |
|
50 |
+ |
|
51 |
+ |
|
40 | 52 |
try: |
41 | 53 |
import htmlentitydefs |
42 | 54 |
except: |
... | ... |
@@ -50,21 +62,12 @@ except NameError: |
50 | 50 |
# In python 3, unicode -> str, and str -> bytes |
51 | 51 |
unicode = str |
52 | 52 |
|
53 |
-import socket |
|
54 |
-import shutil |
|
55 |
-import tempfile |
|
56 |
- |
|
57 |
-from copy import copy |
|
58 |
-from optparse import OptionParser, Option, OptionValueError, IndentedHelpFormatter |
|
59 |
-from logging import debug, info, warning, error |
|
60 |
- |
|
61 | 53 |
try: |
62 | 54 |
from shutil import which |
63 | 55 |
except ImportError: |
64 | 56 |
# python2 fallback code |
65 | 57 |
from distutils.spawn import find_executable as which |
66 | 58 |
|
67 |
-import io |
|
68 | 59 |
|
69 | 60 |
def output(message): |
70 | 61 |
sys.stdout.write(message + "\n") |
... | ... |
@@ -1004,11 +1007,10 @@ def cmd_info(args): |
1004 | 1004 |
|
1005 | 1005 |
if uri.has_object(): |
1006 | 1006 |
# Temporary hack for performance + python3 compatibility |
1007 |
- try: |
|
1008 |
- # Check python 2 first |
|
1009 |
- info_headers_iter = info['headers'].iteritems() |
|
1010 |
- except: |
|
1007 |
+ if PY3: |
|
1011 | 1008 |
info_headers_iter = info['headers'].items() |
1009 |
+ else: |
|
1010 |
+ info_headers_iter = info['headers'].iteritems() |
|
1012 | 1011 |
for header, value in info_headers_iter: |
1013 | 1012 |
if header.startswith('x-amz-meta-'): |
1014 | 1013 |
output(u" %s: %s" % (header, value)) |