|
|
55d6bf |
diff -up mc-4.8.24/src/vfs/extfs/helpers/uc1541.python3 mc-4.8.24/src/vfs/extfs/helpers/uc1541
|
|
|
55d6bf |
--- mc-4.8.24/src/vfs/extfs/helpers/uc1541.python3 2020-01-20 14:40:30.637996501 +0100
|
|
|
55d6bf |
+++ mc-4.8.24/src/vfs/extfs/helpers/uc1541 2020-01-20 14:37:55.253442507 +0100
|
|
|
55d6bf |
@@ -1,4 +1,4 @@
|
|
|
55d6bf |
-#!/usr/bin/env python
|
|
|
55d6bf |
+#!/usr/bin/env python3
|
|
|
55d6bf |
"""
|
|
|
55d6bf |
UC1541 Virtual filesystem
|
|
|
55d6bf |
|
|
|
55d6bf |
--- a/src/vfs/extfs/helpers/s3+.in (original)
|
|
|
55d6bf |
+++ b/src/vfs/extfs/helpers/s3+.in (refactored)
|
|
|
55d6bf |
@@ -153,16 +153,16 @@
|
|
|
55d6bf |
Propagates exception safely.
|
|
|
55d6bf |
"""
|
|
|
55d6bf |
from threading import Thread
|
|
|
55d6bf |
- import Queue
|
|
|
55d6bf |
+ import queue
|
|
|
55d6bf |
|
|
|
55d6bf |
items = list(iterable)
|
|
|
55d6bf |
nitems = len(items)
|
|
|
55d6bf |
if nitems < 2:
|
|
|
55d6bf |
- return map(fun, items)
|
|
|
55d6bf |
+ return list(map(fun, items))
|
|
|
55d6bf |
|
|
|
55d6bf |
# Create and fill input queue
|
|
|
55d6bf |
- input = Queue.Queue()
|
|
|
55d6bf |
- output = Queue.Queue()
|
|
|
55d6bf |
+ input = queue.Queue()
|
|
|
55d6bf |
+ output = queue.Queue()
|
|
|
55d6bf |
|
|
|
55d6bf |
for i,item in enumerate(items):
|
|
|
55d6bf |
input.put( (i,item) )
|
|
|
55d6bf |
@@ -181,7 +181,7 @@
|
|
|
55d6bf |
output.put( (i,result) )
|
|
|
55d6bf |
except:
|
|
|
55d6bf |
output.put( (None,sys.exc_info()) )
|
|
|
55d6bf |
- except Queue.Empty:
|
|
|
55d6bf |
+ except queue.Empty:
|
|
|
55d6bf |
return
|
|
|
55d6bf |
|
|
|
55d6bf |
# Start threads
|
|
|
55d6bf |
@@ -196,8 +196,8 @@
|
|
|
55d6bf |
try:
|
|
|
55d6bf |
i,res = output.get()
|
|
|
55d6bf |
if i == None:
|
|
|
55d6bf |
- raise res[0],res[1],res[2]
|
|
|
55d6bf |
- except Queue.Empty:
|
|
|
55d6bf |
+ raise res[0](res[1]).with_traceback(res[2])
|
|
|
55d6bf |
+ except queue.Empty:
|
|
|
55d6bf |
break
|
|
|
55d6bf |
ret.append(res)
|
|
|
55d6bf |
|
|
|
55d6bf |
@@ -241,7 +241,7 @@
|
|
|
55d6bf |
b = s3.get_bucket(name, validate=False)
|
|
|
55d6bf |
b.get_location() # just to raise an exception on error
|
|
|
55d6bf |
return b
|
|
|
55d6bf |
- except boto.exception.S3ResponseError, e:
|
|
|
55d6bf |
+ except boto.exception.S3ResponseError as e:
|
|
|
55d6bf |
# Seems this is the only proper way to switch to the bucket's region.
|
|
|
55d6bf |
# Requesting of the default region for "?location" does not work unfortunately.
|
|
|
55d6bf |
m = re.search(r'<Region>(.*?)</Region>', e.body)
|
|
|
55d6bf |
@@ -340,7 +340,7 @@
|
|
|
55d6bf |
expr = re.compile(r'^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.\d{3}Z$')
|
|
|
55d6bf |
def convDate(awsdatetime):
|
|
|
55d6bf |
m = expr.match(awsdatetime)
|
|
|
55d6bf |
- ye,mo,da,ho,mi,se = map(int,m.groups())
|
|
|
55d6bf |
+ ye,mo,da,ho,mi,se = list(map(int,m.groups()))
|
|
|
55d6bf |
|
|
|
55d6bf |
dt = datetime.datetime(ye,mo,da,ho,mi,se, tzinfo=pytz.utc)
|
|
|
55d6bf |
return dt.astimezone(tz).strftime('%m-%d-%Y %H:%M')
|