Spaces:
Build error
Build error
import os | |
import re | |
from mako.template import Template | |
def pascal_case_to_snake(name): | |
name = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name) | |
return re.sub('([a-z0-9])([A-Z])', r'\1_\2', name).lower() | |
def create_endpoint(name: str): | |
mytemp = Template(filename="templates/endpoint.pyt") | |
snake_case_name = pascal_case_to_snake(name) | |
pascal_case_name = name | |
rendered = mytemp.render(snake_case_name=snake_case_name, PascalCaseName=pascal_case_name) | |
file = f"api/endpoints/{snake_case_name}.py" | |
if os.path.isfile(file): | |
raise Exception("File already exists") | |
with open(file, "w") as f: | |
f.write(rendered) | |
def create_schema(name: str): | |
mytemp = Template(filename="templates/schema.pyt") | |
snake_case_name = pascal_case_to_snake(name) | |
pascal_case_name = name | |
rendered = mytemp.render(snake_case_name=snake_case_name, PascalCaseName=pascal_case_name) | |
file = f"schemas/{snake_case_name}.py" | |
if os.path.isfile(file): | |
raise Exception("File already exists") | |
with open(file, "w") as f: | |
f.write(rendered) | |
with open("schemas/__init__.py", "a") as f: | |
f.write("\n") | |
import_temp = Template( | |
"from .${snake_case_name} import ${PascalCaseName}, ${PascalCaseName}Create, ${PascalCaseName}Update, ${PascalCaseName}InDB") | |
f.write(import_temp.render(snake_case_name=snake_case_name, PascalCaseName=pascal_case_name)) | |
def create_model(name: str): | |
mytemp = Template(filename="templates/model.pyt") | |
snake_case_name = pascal_case_to_snake(name) | |
pascal_case_name = name | |
rendered = mytemp.render(snake_case_name=snake_case_name, PascalCaseName=pascal_case_name) | |
file = f"models/{snake_case_name}.py" | |
if os.path.isfile(file): | |
raise Exception("File already exists") | |
with open(file, "w") as f: | |
f.write(rendered) | |
with open("models/__init__.py", "a") as f: | |
f.write("\n") | |
import_temp = Template( | |
"from .${snake_case_name} import ${PascalCaseName}") | |
f.write(import_temp.render(snake_case_name=snake_case_name, PascalCaseName=pascal_case_name)) | |
def create_crud(name: str): | |
mytemp = Template(filename="templates/crud.pyt") | |
snake_case_name = pascal_case_to_snake(name) | |
pascal_case_name = name | |
rendered = mytemp.render(snake_case_name=snake_case_name, PascalCaseName=pascal_case_name) | |
file = f"cruds/{snake_case_name}.py" | |
if os.path.isfile(file): | |
raise Exception("File already exists") | |
with open(file, "w") as f: | |
f.write(rendered) | |
with open("cruds/__init__.py", "a") as f: | |
f.write("\n") | |
import_temp = Template( | |
"from .${snake_case_name} import crud_${snake_case_name}") | |
f.write(import_temp.render(snake_case_name=snake_case_name)) | |
if __name__ == '__main__': | |
print(create_endpoint(name="Department")) | |