Spaces:
Runtime error
Runtime error
File size: 950 Bytes
19c4ddf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import io
from contextlib import contextmanager
from typing import Any, BinaryIO, Iterator, Union
import blobfile as bf
import yaml
from shap_e.util.collections import AttrDict
def read_config(path_or_file: Union[str, io.IOBase]) -> Any:
if isinstance(path_or_file, io.IOBase):
obj = yaml.load(path_or_file, Loader=yaml.SafeLoader)
else:
with bf.BlobFile(path_or_file, "rb") as f:
try:
obj = yaml.load(f, Loader=yaml.SafeLoader)
except Exception as exc:
with bf.BlobFile(path_or_file, "rb") as f:
print(f.read())
raise exc
if isinstance(obj, dict):
return AttrDict(obj)
return obj
@contextmanager
def buffered_writer(raw_f: BinaryIO) -> Iterator[io.BufferedIOBase]:
if isinstance(raw_f, io.BufferedIOBase):
yield raw_f
else:
f = io.BufferedWriter(raw_f)
yield f
f.flush()
|