Skip to content

Instantly share code, notes, and snippets.

@zelaznik
Created August 26, 2019 23:03
Show Gist options
  • Save zelaznik/3a8b82b2905a649457b5cf01fc3189a4 to your computer and use it in GitHub Desktop.
Save zelaznik/3a8b82b2905a649457b5cf01fc3189a4 to your computer and use it in GitHub Desktop.
#!/usr/bin/python
import sys
import re
name = sys.argv[1]
def classify(name):
names = []
for subname in name.split('/'):
camelized = ''.join(s.capitalize() for s in subname.split('-'))
names.append(camelized)
return '::'.join(names)
bracket_pattern = re.compile(r"([A-Z][a-z]*)")
def legacy(name):
names = []
for subname in name.split('::'):
file_format = '-'.join(s.lower() for s in bracket_pattern.findall(subname))
names.append(file_format)
return '/'.join(names)
if ('-' in name) and ('::' not in name):
classified_name = classify(name)
legacy_name = name
elif ('-' not in name) and ('::' in name):
classified_name = name
legacy_name = legacy(name)
else:
raise Error("Unrecognized input: %r", (name,))
non_letter = '[^a-z|A-Z|0-9|\_|\-]'
print("(%(classified_name)s|%(legacy_name)s)" % locals())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment