Skip to content

validate package scoping causes incorrect package namespacing #128

@majuscule

Description

@majuscule

I believe that I have found a bug in the configobj/validate interaction. I am not entirely sure if this code is causing a user-facing issue, but I am fairly certain that the code below is not behaving as intended.

https://github.com/DiffSK/configobj/blob/master/src/configobj/__init__.py#L2177
excerpt:

if not preserve_errors or isinstance(cause, self._vdtMissingValue):

The import of validate (init.py#L2142) is relative, and the resulting classes are namespaced within configobj: <class 'configobj.validate.VdtMissingValue'> - causing the above test to fallthrough.

This is causing additional problems when I attempt to raise VdtMissingDefinition (PR
#127) from configobj, as the resulting preserve_errors dictionary contains exceptions with differing namespaces, forcing awkward imports from external code which would like to test entry error types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions