@@ -129,11 +129,11 @@ def create(shape, chunks=True, dtype=None, compressor='default',
129
129
return z
130
130
131
131
132
- def normalize_store_arg (store , clobber = False , storage_options = None ):
132
+ def normalize_store_arg (store , clobber = False , storage_options = None , mode = 'w' ):
133
133
if store is None :
134
134
return dict ()
135
135
elif isinstance (store , str ):
136
- mode = 'w' if clobber else 'r'
136
+ mode = mode if clobber else "r"
137
137
if "://" in store or "::" in store :
138
138
return FSStore (store , mode = mode , ** (storage_options or {}))
139
139
elif storage_options :
@@ -450,8 +450,8 @@ def open_array(store=None, mode='a', shape=None, chunks=True, dtype=None,
450
450
# a : read/write if exists, create otherwise (default)
451
451
452
452
# 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 )
455
455
if chunk_store is not None :
456
456
chunk_store = normalize_store_arg (chunk_store , clobber = clobber ,
457
457
storage_options = storage_options )
0 commit comments