shamo.core.objects.dir.ObjDir¶
-
class
shamo.core.objects.dir.
ObjDir
(name, parent_path)[source]¶ Bases:
shamo.core.objects.abc.ObjABC
A base class for any savable/loadable object stored as a directory.
- 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.
Return the relative path from the object to a file or directory.
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.
Return the path to the object directory.
-
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.
-
get_relative_path
(path)[source]¶ Return the relative path from the object to a file or directory.
- Parameters
- path
str
,byte
oros.PathLike
The path to the file or directory to compute the relative path for.
- path
- Returns
pathlib.Path
The relative path to the file or directory.
-
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
¶ Return the path to the object directory.
- Returns
pathlib.Path
The path to the object directory.
-
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¶