2019-08-19 01:28:06 +00:00
|
|
|
from jinja2 import Environment, FileSystemLoader
|
|
|
|
|
|
|
|
file_loader = FileSystemLoader('.')
|
|
|
|
env = Environment(loader=file_loader)
|
|
|
|
|
|
|
|
print("Which category does this endpoint fall under?")
|
|
|
|
subdir_index = int(input("1: accounts, 2: call_detail_records, 3: dids, 4: general, 5: voicemail: "))
|
|
|
|
subdir = ("accounts", "call_detail_records", "dids", "general", "voicemail")[subdir_index - 1]
|
|
|
|
|
2019-09-03 18:28:49 +00:00
|
|
|
endpoint = input("endpoint name? ")
|
|
|
|
method = input("method name? ")
|
2019-08-19 01:28:06 +00:00
|
|
|
|
|
|
|
filename = "../voipms/api/{}/{}.py".format(subdir, method)
|
|
|
|
|
|
|
|
template = env.get_template('endpoint.j2')
|
|
|
|
method_split = method.split('_')
|
|
|
|
class_name = ''.join((i.title() for i in method_split))
|
|
|
|
output = template.render(endpoint=endpoint, class_name=class_name)
|
|
|
|
|
|
|
|
with open(filename, 'a') as file:
|
|
|
|
file.writelines(output)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
filename = "../voipms/api/{}/__init__.py".format(subdir)
|
|
|
|
template = env.get_template('import.j2')
|
|
|
|
method_split = method.split('_')
|
|
|
|
class_name = ''.join((i.title() for i in method_split))
|
|
|
|
output_import = template.render(method_name=method, class_name=class_name, category_name=subdir)
|
|
|
|
|
|
|
|
template = env.get_template('initialize.j2')
|
|
|
|
output_init = template.render(method_name=method)
|
|
|
|
|
|
|
|
template = env.get_template('subdir_init.j2')
|
|
|
|
output_property = template.render(method_name=method, class_name=class_name)
|
|
|
|
|
|
|
|
with open(filename, 'r') as file:
|
|
|
|
contents = file.readlines()
|
|
|
|
|
|
|
|
pos = 0
|
|
|
|
|
|
|
|
for k, v in enumerate(contents):
|
|
|
|
if v == "\n":
|
|
|
|
contents.insert(k, output_import + "\n")
|
|
|
|
pos = k
|
|
|
|
break
|
|
|
|
|
|
|
|
for k, v in enumerate(contents[pos+2:], pos+2):
|
|
|
|
if v == "\n":
|
|
|
|
contents.insert(k, output_init + "\n")
|
|
|
|
break
|
|
|
|
|
|
|
|
contents.append("\n\n" + output_property)
|
|
|
|
|
|
|
|
with open(filename, 'w') as file:
|
|
|
|
file.writelines(contents)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
filename = "../voipms/api/__init__.py"
|
|
|
|
|
|
|
|
template = env.get_template('dir_init.j2')
|
2019-08-19 02:30:31 +00:00
|
|
|
output = template.render(subdir=subdir, method_name=method)
|
2019-08-19 01:28:06 +00:00
|
|
|
|
|
|
|
with open(filename, 'a') as file:
|
|
|
|
file.writelines("\n\n" + output)
|