shamo.core.objects.file.ObjFile¶
-
class
shamo.core.objects.file.
ObjFile
(name, parent_path)[source]¶ Bases:
shamo.core.objects.abc.ObjABC
A base class for any savable/loadable object stored as a single JSON file.
- Parameters
- name
str
The name of the object.
- parent_path
str
,byte
oros.PathLike
The path to the parent directory of the object.
- name
See also
shamo.core.ObjABC
Methods
Create a new dictionary with keys from iterable and values set to value.
Return the value for key if key is in the dictionary, else default.
Load an object from a JSON file.
If key is not found, d is returned if given, otherwise KeyError is raised
Remove and return a (key, value) pair as a 2-tuple.
Save the object to a JSON file.
Insert key with a value of default if key is not in the dictionary.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
Attributes
Return the path to the object JSON file.
Return the name of the object.
Return the path to the parent directory of the object.
An alias for json_path.
-
clear
() → None. Remove all items from D.¶
-
copy
() → a shallow copy of D¶
-
fromkeys
(iterable, value=None, /)¶ Create a new dictionary with keys from iterable and values set to value.
-
get
(key, default=None, /)¶ Return the value for key if key is in the dictionary, else default.
-
items
() → a set-like object providing a view on D’s items¶
-
property
json_path
¶ Return the path to the object JSON file.
- Returns
pathlib.Path
The path to the object JSON file.
-
keys
() → a set-like object providing a view on D’s keys¶
-
classmethod
load
(json_path)¶ Load an object from a JSON file.
- Parameters
- json_path
str
,byte
oros.PathLike
The path to the JSON file containing the object data.
- json_path
- Raises
TypeError
If argument json_path is not a str, byte or os.PathLike.
-
property
parent_path
¶ Return the path to the parent directory of the object.
- Returns
pathlib.Path
The path to the parent directory of the object.
-
property
path
¶ An alias for json_path.
- Returns
pathlib.Path
The path to the object JSON file.
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.¶ If key is not found, d is returned if given, otherwise KeyError is raised
-
popitem
(/)¶ Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
-
save
(exist_ok=True)¶ Save the object to a JSON file.
- Parameters
- exist_okbool,
optional
If set to
True
, any already existing object is overriden. Otherwise, if the object already exists, a FileExistsError. The default isTrue
.
- exist_okbool,
- Raises
FileExistsError
If exist_ok is set to
False
and the object already exists.TypeError
If any of the keys/values to be stored is not a str, int, float, bool or
None
.
-
setdefault
(key, default=None, /)¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
values
() → an object providing a view on D’s values¶