Skip to content

Commit 366df8a

Browse files
authored
feat(misc): add try_get_enum_value function (#208)
1 parent 016190d commit 366df8a

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

modflow_devtools/misc.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
from _warnings import warn
66
from ast import literal_eval
77
from contextlib import contextmanager
8+
from enum import Enum
89
from functools import wraps
910
from importlib import metadata
1011
from os import PathLike, chdir, environ
1112
from pathlib import Path, PurePosixPath
1213
from shutil import which
1314
from subprocess import run
1415
from timeit import timeit
16+
from typing import Any
1517
from urllib import request
1618
from urllib.error import URLError
1719

@@ -550,3 +552,11 @@ def set_env(*remove, **update):
550552
finally:
551553
env.update(update_after)
552554
[env.pop(k) for k in remove_after]
555+
556+
557+
def try_get_enum_value(v: Any) -> Any:
558+
"""
559+
Get the enum's value if the object is an instance
560+
of an enumeration, otherwise return it unaltered.
561+
"""
562+
return v.value if isinstance(v, Enum) else v

0 commit comments

Comments
 (0)