File tree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -689,6 +689,13 @@ def format_toml_pair(key: str, value: object) -> str:
689
689
def _to_toml_pair (value : object ) -> tuple [str | None , Any ]:
690
690
"""Return a TOML-compatible suffix and value pair with the data from the given rich value object."""
691
691
match value :
692
+ # enums have to be checked before basic types because for instance
693
+ # IntEnum is also of type int
694
+ case Enum ():
695
+ if isinstance (value , ReprEnum ):
696
+ return None , value .value
697
+ else :
698
+ return None , value .name .lower ()
692
699
case str () | int () | float () | date () | time () | Path (): # note: 'bool' is a subclass of 'int'
693
700
return None , value
694
701
case timedelta ():
@@ -718,11 +725,6 @@ def _to_toml_pair(value: object) -> tuple[str | None, Any]:
718
725
return "-weeks" , days // 7
719
726
else :
720
727
return "-days" , days
721
- case Enum ():
722
- if isinstance (value , ReprEnum ):
723
- return None , value .value
724
- else :
725
- return None , value .name .lower ()
726
728
case ModuleType ():
727
729
return None , value .__name__
728
730
case Mapping ():
You can’t perform that action at this time.
0 commit comments