Merge branch '16838-probe-metrics' into master
[arvados.git] / sdk / python / arvados / commands / put.py
index 4b04ad229e26f50042d5699659bd9ab2f6121623..616a94e903eba20794ac589e696b5eb7c14f50aa 100644 (file)
@@ -867,7 +867,9 @@ class ArvPutUploadJob(object):
                                           update_collection):
             try:
                 self._remote_collection = arvados.collection.Collection(
-                    update_collection, api_client=self._api_client)
+                    update_collection,
+                    api_client=self._api_client,
+                    num_retries=self.num_retries)
             except arvados.errors.ApiError as error:
                 raise CollectionUpdateError("Cannot read collection {} ({})".format(update_collection, error))
             else:
@@ -910,7 +912,8 @@ class ArvPutUploadJob(object):
                 self._state['manifest'],
                 replication_desired=self.replication_desired,
                 put_threads=self.put_threads,
-                api_client=self._api_client)
+                api_client=self._api_client,
+                num_retries=self.num_retries)
 
     def _cached_manifest_valid(self):
         """
@@ -1142,7 +1145,10 @@ def main(arguments=None, stdout=sys.stdout, stderr=sys.stderr,
                 utcoffset = -trash_at.utcoffset()
             else:
                 # Timezone naive datetime provided. Assume is local.
-                utcoffset = datetime.timedelta(seconds=time.timezone)
+                if time.daylight:
+                    utcoffset = datetime.timedelta(seconds=time.altzone)
+                else:
+                    utcoffset = datetime.timedelta(seconds=time.timezone)
             # Convert to UTC timezone naive datetime.
             trash_at = trash_at.replace(tzinfo=None) + utcoffset
 
@@ -1316,7 +1322,10 @@ def main(arguments=None, stdout=sys.stdout, stderr=sys.stderr,
             expiration_notice = ""
             if writer.collection_trash_at() is not None:
                 # Get the local timezone-naive version, and log it with timezone information.
-                local_trash_at = writer.collection_trash_at().replace(tzinfo=None) - datetime.timedelta(seconds=time.timezone)
+                if time.daylight:
+                    local_trash_at = writer.collection_trash_at().replace(tzinfo=None) - datetime.timedelta(seconds=time.altzone)
+                else:
+                    local_trash_at = writer.collection_trash_at().replace(tzinfo=None) - datetime.timedelta(seconds=time.timezone)
                 expiration_notice = ". It will expire on {} {}.".format(
                     local_trash_at.strftime("%Y-%m-%d %H:%M:%S"), time.strftime("%z"))
             if args.update_collection: