diff options
author | romangraef <romangraef@loves.dicksinhisan.us> | 2018-07-06 10:35:54 +0200 |
---|---|---|
committer | romangraef <romangraef@loves.dicksinhisan.us> | 2018-07-06 10:35:54 +0200 |
commit | cbb9f2c3622ec96caf4ec9e58e84c8fbd3f45d23 (patch) | |
tree | bfe6aa26d7cab12334ae79b353ba2ec365f2b582 /configlib/util.py | |
download | configlib-cbb9f2c3622ec96caf4ec9e58e84c8fbd3f45d23.tar.gz configlib-cbb9f2c3622ec96caf4ec9e58e84c8fbd3f45d23.tar.bz2 configlib-cbb9f2c3622ec96caf4ec9e58e84c8fbd3f45d23.zip |
Initial commit
Diffstat (limited to 'configlib/util.py')
-rw-r--r-- | configlib/util.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/configlib/util.py b/configlib/util.py new file mode 100644 index 0000000..3c7618d --- /dev/null +++ b/configlib/util.py @@ -0,0 +1,18 @@ +import re +from typing import List + + +def parse_case(any_case: str) -> List[str]: + if '_' in any_case: + return any_case.lower().split('_') + if '-' in any_case: + return any_case.lower().split('-') + return [word.lower() for word in re.split('(?<=[a-z0-9])(?=[A-Z])', any_case)] + + +def snake_case(any_case: str) -> str: + return '_'.join(parse_case(any_case)) + + +def pascal_case(any_case: str) -> str: + return ''.join(word.capitalize() for word in parse_case(any_case)) |