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")) | |