1 --- a/src/vfs/extfs/helpers/uc1541
2 +++ b/src/vfs/extfs/helpers/uc1541
5 +#!/usr/bin/env python3
7 UC1541 Virtual filesystem
9 --- a/src/vfs/extfs/helpers/s3+.in (original)
10 +++ b/src/vfs/extfs/helpers/s3+.in (refactored)
12 Propagates exception safely.
14 from threading import Thread
18 items = list(iterable)
21 - return map(fun, items)
22 + return list(map(fun, items))
24 # Create and fill input queue
25 - input = Queue.Queue()
26 - output = Queue.Queue()
27 + input = queue.Queue()
28 + output = queue.Queue()
30 for i,item in enumerate(items):
33 output.put( (i,result) )
35 output.put( (None,sys.exc_info()) )
45 - raise res[0],res[1],res[2]
47 + raise res[0](res[1]).with_traceback(res[2])
53 b = s3.get_bucket(name, validate=False)
54 b.get_location() # just to raise an exception on error
56 - except boto.exception.S3ResponseError, e:
57 + except boto.exception.S3ResponseError as e:
58 # Seems this is the only proper way to switch to the bucket's region.
59 # Requesting of the default region for "?location" does not work unfortunately.
60 m = re.search(r'<Region>(.*?)</Region>', e.body)
62 expr = re.compile(r'^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.\d{3}Z$')
63 def convDate(awsdatetime):
64 m = expr.match(awsdatetime)
65 - ye,mo,da,ho,mi,se = map(int,m.groups())
66 + ye,mo,da,ho,mi,se = list(map(int,m.groups()))
68 dt = datetime.datetime(ye,mo,da,ho,mi,se, tzinfo=pytz.utc)
69 return dt.astimezone(tz).strftime('%m-%d-%Y %H:%M')