shamo.core.objects.file.ObjFile¶
-
class
shamo.core.objects.file.ObjFile(name, parent_path)[source]¶ Bases:
shamo.core.objects.abc.ObjABCA base class for any savable/loadable object stored as a single JSON file.
- Parameters
- name
str The name of the object.
- parent_path
str,byteoros.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.PathThe 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,byteoros.PathLike The path to the JSON file containing the object data.
- json_path
- Raises
TypeErrorIf 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.PathThe path to the parent directory of the object.
-
property
path¶ An alias for json_path.
- Returns
pathlib.PathThe 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
FileExistsErrorIf exist_ok is set to
Falseand the object already exists.TypeErrorIf 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¶