From 2548543949ac90b51d555607b115d0e0efd45640 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Mon, 23 Feb 2015 10:16:08 -0500 Subject: [PATCH] 4823: Clean up imports in collection.py --- sdk/python/arvados/collection.py | 38 +++++++++++++++++--------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/sdk/python/arvados/collection.py b/sdk/python/arvados/collection.py index 6d5dd4ff15..a77f3093f8 100644 --- a/sdk/python/arvados/collection.py +++ b/sdk/python/arvados/collection.py @@ -3,14 +3,17 @@ import logging import os import re import errno +import hashlib import time +import threading from collections import deque from stat import * from .arvfile import split, _FileLikeObjectBase, ArvadosFile, ArvadosFileWriter, ArvadosFileReader, _BlockManager, synchronized, must_be_writable, SYNC_READONLY, SYNC_EXPLICIT, NoopLock -from keep import * -from .stream import StreamReader, normalize_stream +from keep import KeepLocator, KeepClient +from .stream import StreamReader +from ._normalize_stream import normalize_stream from ._ranges import Range, LocatorAndRange from .safeapi import ThreadSafeApiCache import config @@ -786,22 +789,21 @@ class SynchronizedCollectionBase(CollectionBase): target_dir = self.find_or_create("/".join(targetcomponents[0:-1]), COLLECTION) - with target_dir.lock: - if target_name in target_dir: - if isinstance(target_dir[target_name], SynchronizedCollectionBase) and sourcecomponents: - target_dir = target_dir[target_name] - target_name = sourcecomponents[-1] - elif not overwrite: - raise IOError((errno.EEXIST, "File already exists")) - - modified_from = None - if target_name in target_dir: - modified_from = target_dir[target_name] - - # Actually make the copy. - dup = source_obj.clone(target_dir) - target_dir._items[target_name] = dup - target_dir._modified = True + if target_name in target_dir: + if isinstance(target_dir[target_name], SynchronizedCollectionBase) and sourcecomponents: + target_dir = target_dir[target_name] + target_name = sourcecomponents[-1] + elif not overwrite: + raise IOError((errno.EEXIST, "File already exists")) + + modified_from = None + if target_name in target_dir: + modified_from = target_dir[target_name] + + # Actually make the copy. + dup = source_obj.clone(target_dir) + target_dir._items[target_name] = dup + target_dir._modified = True if modified_from: self.notify(MOD, target_dir, target_name, (modified_from, dup)) -- 2.30.2