46c55722a5
Like the Rbyd class, Btree serves as an abstraction for littlefs's btrees in Python. New classes: - Btree - btree abstraction, note this does _not_ inherit from Rbyd. I find that sort of inheritance too error-prone. Instead Btree _contains_ the root rbyd, which can always be accessed via Btree.rbyd. If you want low-level root-rbyd details, just access Btree.rbyd. Though most fields that are relevant to the Btree are also forwarded via Python's @property properties. - Bd - This just serves as a handle for the disk file that includes block_size/block_count metadata. One important change to note is the adoption of required vestigial names in all btree nodes (yes this scripts was written... checks notes... 2 years ago... even the same month huh). This means we don't need the parent name mapping, so the non-inner btree printing code no longer needs to be extremely confusing at all times. Also adopted the Rbyd class and friends, and backported Bd to dbgrbyd.py. Also tried to give a couple useful algorithms their own self-contained functions, mainly: - pathdelta - for emulating a traversal over exhaustive paths - treerepr - for the common ascii tree rendering code