[ ] keys(), values(), items()
These ones are a bit weird. I propose that these should only contain the items in data since the others can be obtained from the Path api
Path api
[ ] __fspath__
Probably this one only needs to output posix path as a string
[ ] __truediv__, __rtruediv__, joinpath()
[ ] glob(), rglob()
[ ] iterdir(), walk()
First part should be trivial, but the latter could use some equivalence: Path.walk()
Non-compliant apis:
parent (Path api)
Should always be of type Self. It should return itself if current object is root
root (Path api)
Should always be of type str
get(), __getitem__ (dict api)
It should not accept an empty name or a list[str]
It should return type equivalent to __getitem__
Other apis
pop(), setdefault(), __setitem__, etc.
These are changing the tree structure and should not implemented. If virtual Trees/Path are needed/implemented, these can be added
unlink(), rmdir()
Could be implemented, but there is ambiguity if it's a branch defined in main.fmf file
dict
api__len__
,__iter__
,__contains__
#203keys()
,values()
,items()
These ones are a bit weird. I propose that these should only contain the items indata
since the others can be obtained from thePath
apiPath
api__fspath__
Probably this one only needs to output posix path as a string__truediv__
,__rtruediv__
,joinpath()
glob()
,rglob()
iterdir()
,walk()
First part should be trivial, but the latter could use some equivalence:Path.walk()
Non-compliant apis:
parent
(Path
api) Should always be of typeSelf
. It should return itself if current object is rootroot
(Path
api) Should always be of typestr
get()
,__getitem__
(dict
api)name
or alist[str]
__getitem__
Other apis
pop()
,setdefault()
,__setitem__
, etc. These are changing the tree structure and should not implemented. If virtual Trees/Path are needed/implemented, these can be addedunlink()
,rmdir()
Could be implemented, but there is ambiguity if it's a branch defined inmain.fmf
file