@@ -129,11 +129,11 @@ def create(shape, chunks=True, dtype=None, compressor='default',
129129 return z
130130
131131
132- def normalize_store_arg (store , clobber = False , storage_options = None ):
132+ def normalize_store_arg (store , clobber = False , storage_options = None , mode = 'w' ):
133133 if store is None :
134134 return dict ()
135135 elif isinstance (store , str ):
136- mode = 'w' if clobber else 'r'
136+ mode = mode if clobber else "r"
137137 if "://" in store or "::" in store :
138138 return FSStore (store , mode = mode , ** (storage_options or {}))
139139 elif storage_options :
@@ -450,8 +450,8 @@ def open_array(store=None, mode='a', shape=None, chunks=True, dtype=None,
450450 # a : read/write if exists, create otherwise (default)
451451
452452 # handle polymorphic store arg
453- clobber = mode == 'w'
454- store = normalize_store_arg (store , clobber = clobber , storage_options = storage_options )
453+ clobber = ( mode == 'w' )
454+ store = normalize_store_arg (store , clobber = clobber , storage_options = storage_options , mode = mode )
455455 if chunk_store is not None :
456456 chunk_store = normalize_store_arg (chunk_store , clobber = clobber ,
457457 storage_options = storage_options )
0 commit comments