Skip to content

Commit 7a4a81a

Browse files
committed
Ensure device_name is appended to base_path
1 parent 724bca1 commit 7a4a81a

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

harp/reader.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from dataclasses import dataclass
44
from datetime import datetime
55
from functools import partial
6+
from io import StringIO
67
from math import log2
78
from os import PathLike
89
from pathlib import Path
@@ -164,18 +165,13 @@ def from_url(
164165

165166
response = requests.get(url, timeout=timeout)
166167
text = response.text
167-
168-
device = read_schema(text, include_common_registers)
169-
if base_path is None:
170-
base_path = Path(device.device).absolute().resolve()
171-
else:
172-
base_path = Path(base_path).absolute().resolve()
173-
174-
reg_readers = {
175-
name: _create_register_handler(device, name, _ReaderParams(base_path, epoch, keep_type))
176-
for name in device.registers.keys()
177-
}
178-
return cls(device, reg_readers)
168+
return cls.from_str(
169+
text,
170+
base_path=base_path,
171+
include_common_registers=include_common_registers,
172+
epoch=epoch,
173+
keep_type=keep_type,
174+
)
179175

180176
@classmethod
181177
def from_str(
@@ -211,12 +207,12 @@ def from_str(
211207
can be accessed using dot notation using the name of the register as the
212208
key.
213209
"""
214-
215-
device = read_schema(schema, include_common_registers)
210+
device = read_schema(StringIO(schema), include_common_registers)
216211
if base_path is None:
217212
base_path = Path(device.device).absolute().resolve()
218213
else:
219214
base_path = Path(base_path).absolute().resolve()
215+
base_path = base_path / device.device
220216

221217
reg_readers = {
222218
name: _create_register_handler(device, name, _ReaderParams(base_path, epoch, keep_type))
@@ -258,6 +254,7 @@ def from_model(
258254
base_path = Path(model.device).absolute().resolve()
259255
else:
260256
base_path = Path(base_path).absolute().resolve()
257+
base_path = base_path / model.device
261258

262259
reg_readers = {
263260
name: _create_register_handler(model, name, _ReaderParams(base_path, epoch, keep_type))

0 commit comments

Comments
 (0)