-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Describe the bug
pvl requires an ordered multi-dict type to contain the PVL structures that it parses. The default is pvl.collections.OrderedMultiDict which is a custom type that pvl uses. The codebase has an experiment with a "new" ordered multi-dict type, pvl.collections.PVLMultiDict, based on the 3rd party multidict library. That multidict library has had some API changes such that the derived code in pvl no longer works with multidict 6.4.4.
The solution is to patch up the pvl code, primarily removing references to the MultiDict._impl object and MultiDict._title() function so that pvl can function with the latest version of multidict.
If a user isn't explicitly using the "new" pv.collections.PVLMultiDict or importing pvl.new as pvl then they will be unaffected by this bug.
To Reproduce
Steps to reproduce the behavior.
Have multidict 6.4.4 installed and do make test in the pvl repo, you will see:
FAILED tests/test_collections.py::TestMultiDicts::test_insert - AttributeError: 'PVLMultiDict' object has no attribute '_title'
See also the errors from this Action run: https://github.com/planetarypy/pvl/actions/runs/15647702347/job/44087820851#step:8:418
Expected behavior
make test in the pvl repo should result in no errors.