|
2 | 2 | """This module contains a storage class and codec to support the N5 format.
|
3 | 3 | """
|
4 | 4 | from __future__ import absolute_import, division
|
5 |
| -from .meta import ZARR_FORMAT, ensure_str, json_dumps |
| 5 | +from .meta import ZARR_FORMAT, json_dumps, json_loads |
6 | 6 | from .storage import (
|
7 | 7 | NestedDirectoryStore,
|
8 | 8 | group_meta_key as zarr_group_meta_key,
|
|
12 | 12 | from numcodecs.abc import Codec
|
13 | 13 | from numcodecs.compat import ndarray_copy
|
14 | 14 | from numcodecs.registry import register_codec, get_codec
|
15 |
| -import json |
16 | 15 | import numpy as np
|
17 | 16 | import struct
|
18 | 17 | import sys
|
@@ -103,29 +102,26 @@ def __setitem__(self, key, value):
|
103 | 102 |
|
104 | 103 | key = key.replace(zarr_group_meta_key, n5_attrs_key)
|
105 | 104 |
|
106 |
| - value = ensure_str(value) |
107 | 105 | n5_attrs = self._load_n5_attrs(key)
|
108 |
| - n5_attrs.update(**group_metadata_to_n5(json.loads(value))) |
| 106 | + n5_attrs.update(**group_metadata_to_n5(json_loads(value))) |
109 | 107 |
|
110 | 108 | value = json_dumps(n5_attrs).encode('ascii')
|
111 | 109 |
|
112 | 110 | elif key.endswith(zarr_array_meta_key):
|
113 | 111 |
|
114 | 112 | key = key.replace(zarr_array_meta_key, n5_attrs_key)
|
115 | 113 |
|
116 |
| - value = ensure_str(value) |
117 | 114 | n5_attrs = self._load_n5_attrs(key)
|
118 |
| - n5_attrs.update(**array_metadata_to_n5(json.loads(value))) |
| 115 | + n5_attrs.update(**array_metadata_to_n5(json_loads(value))) |
119 | 116 |
|
120 | 117 | value = json_dumps(n5_attrs).encode('ascii')
|
121 | 118 |
|
122 | 119 | elif key.endswith(zarr_attrs_key):
|
123 | 120 |
|
124 | 121 | key = key.replace(zarr_attrs_key, n5_attrs_key)
|
125 | 122 |
|
126 |
| - value = ensure_str(value) |
127 | 123 | n5_attrs = self._load_n5_attrs(key)
|
128 |
| - zarr_attrs = json.loads(value) |
| 124 | + zarr_attrs = json_loads(value) |
129 | 125 |
|
130 | 126 | for k in n5_keywords:
|
131 | 127 | if k in zarr_attrs.keys():
|
@@ -246,8 +242,7 @@ def listdir(self, path=None):
|
246 | 242 | def _load_n5_attrs(self, path):
|
247 | 243 | try:
|
248 | 244 | s = super(N5Store, self).__getitem__(path)
|
249 |
| - s = ensure_str(s) |
250 |
| - return json.loads(s) |
| 245 | + return json_loads(s) |
251 | 246 | except KeyError:
|
252 | 247 | return {}
|
253 | 248 |
|
|
0 commit comments