aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/nRF5_SDK_15.0.0_a53641a/external/nano-pb/generator/camel_case_splitter.py
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/external/nano-pb/generator/camel_case_splitter.py')
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/external/nano-pb/generator/camel_case_splitter.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/external/nano-pb/generator/camel_case_splitter.py b/thirdparty/nRF5_SDK_15.0.0_a53641a/external/nano-pb/generator/camel_case_splitter.py
new file mode 100644
index 0000000..4397b66
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/external/nano-pb/generator/camel_case_splitter.py
@@ -0,0 +1,35 @@
+def split_camel_case(input):
+ def remove_camel_case(camel_case_input):
+ no_camel_case = ""
+ if len(camel_case_input) <= 0:
+ return ""
+ no_camel_case += camel_case_input[0].lower()
+ for c in camel_case_input[1:]:
+ if c.isupper():
+ no_camel_case += "_" + c.lower()
+ else:
+ no_camel_case += c
+ return no_camel_case
+
+ underscore_split = input.split("_")
+ retval = ""
+ for i in underscore_split:
+ if is_camel_case_name(i):
+ retval += remove_camel_case(i) + "_"
+ else:
+ retval += i + "_"
+
+ return retval[:-1].replace("__", "_")
+
+
+def is_camel_case_name(input):
+ if '_' in input:
+ return False
+
+ if input.islower():
+ return False
+
+ if input.isupper():
+ return False
+
+ return True \ No newline at end of file