Spaces:
Build error
Build error
| import os | |
| import sys | |
| from time import sleep | |
| import click | |
| # RCOUNT: 145 | |
| class CommandDefinition: | |
| def generator(self, name, det): # noqa | |
| from utils import generator | |
| if det == "all": | |
| if not name: | |
| print("Enter at least one name!") | |
| for item in name: | |
| generator.create_model(item) | |
| generator.create_endpoint(item) | |
| generator.create_crud(item) | |
| generator.create_schema(item) | |
| elif det == "model": | |
| if not name: | |
| print("Enter at least one model name!") | |
| for item in name: | |
| generator.create_model(item) | |
| elif det == "schema": | |
| if not name: | |
| print("Enter at least one schema name!") | |
| for item in name: | |
| generator.create_schema(item) | |
| elif det == "endpoint": | |
| if not name: | |
| print("Enter at least one endpoint name!") | |
| for item in name: | |
| generator.create_endpoint(item) | |
| elif det == "crud": | |
| if not name: | |
| print("Enter at least one CRUD name!") | |
| for item in name: | |
| generator.create_crud(item) | |
| def start(self): | |
| from misc.scripts import launch | |
| launch.run() | |
| def mkmig(self): | |
| from alembic import command | |
| from alembic.config import Config | |
| alembic_cfg = Config("alembic.ini") | |
| msg = input("Enter a message: ") | |
| command.revision(config=alembic_cfg, autogenerate=True, message=msg) | |
| click.echo("Inside migrate") | |
| def mig(self): | |
| from alembic import command | |
| from alembic.config import Config | |
| alembic_cfg = Config("alembic.ini") | |
| command.upgrade(alembic_cfg, "head") | |
| def cleanmig(self): | |
| for file in os.listdir("migrations/versions/"): | |
| if file != ".keep": | |
| if os.path.isfile(f"migrations/versions/{file}"): | |
| os.remove(f"migrations/versions/{file}") | |
| def cleanredis(self): | |
| from core.config import settings | |
| os.system( | |
| f"docker-compose exec redis redis-cli -a {settings.SECRET_KEY} FLUSHALL" | |
| ) | |
| def logs(self): | |
| os.system(f"docker-compose logs -f -t") | |
| def remake(self): | |
| self.cleandb() | |
| self.populate() | |
| def remakeall(self): | |
| from alembic import command | |
| from alembic.config import Config | |
| try: | |
| os.system(f"docker-compose down -v -t 5") | |
| os.system( | |
| f"cd .. && docker-compose up -d postgres redis pgadmin mailhog file_server" | |
| ) | |
| except Exception as e: | |
| print(e) | |
| self.cleanmig() | |
| alembic_cfg = Config("alembic.ini") | |
| rev_created = False | |
| while True: | |
| try: | |
| if not rev_created: | |
| command.revision( | |
| config=alembic_cfg, autogenerate=True, message="Remake All" | |
| ) | |
| rev_created = True | |
| command.upgrade(alembic_cfg, "head") | |
| break | |
| except Exception as e: | |
| print(e) | |
| print("Waiting for containers to boot!") | |
| sleep(3) | |
| try: | |
| self.populate() | |
| except Exception as e: | |
| print(e) | |
| def dcstart(self): | |
| os.system( | |
| "cd .. && docker-compose up -d postgres file_server redis pgadmin mailhog" | |
| ) | |
| def cleandb(self): | |
| try: | |
| from alembic import command | |
| from alembic.config import Config | |
| from core.db import engine | |
| self.cleanmig() | |
| engine.execute("DROP schema public CASCADE") | |
| engine.execute("CREATE schema public") | |
| alembic_cfg = Config("alembic.ini") | |
| command.revision(config=alembic_cfg, autogenerate=True, message="cleandb") | |
| command.upgrade(alembic_cfg, "head") | |
| except Exception as e: | |
| print(e) | |
| def populate(self): | |
| from utils import populate as db_populate | |
| sleep(5) | |
| db_populate.populate_all() | |
| def pytest(self): | |
| ec = int( | |
| os.system( | |
| "pytest --verbose --color=yes tests/api/api_v1/") | |
| / 256 | |
| ) | |
| sys.exit(ec) | |
| def build_push(self): | |
| ec = int( | |
| os.system( | |
| "docker build -t registry.gitlab.com/arpandaze/sikshyalaya/backend . && docker push registry.gitlab.com/arpandaze/sikshyalaya/backend") | |
| / 256 | |
| ) | |
| sys.exit(ec) | |
| commands = CommandDefinition() | |
| def main(): | |
| pass | |
| def create(context): | |
| if not context.invoked_subcommand: | |
| pass | |
| def clean(context): | |
| if not context.invoked_subcommand: | |
| pass | |
| def all(name): # noqa | |
| commands.generator(name, "all") | |
| def model(name): | |
| commands.generator(name, "model") | |
| def schema(name): | |
| commands.generator(name, "schema") | |
| def endpoint(name): | |
| commands.generator(name, "endpoint") | |
| def crud(name): | |
| commands.generator(name, "crud") | |
| def start(): | |
| commands.start() | |
| def dcstart(): | |
| commands.dcstart() | |
| def pytest(): | |
| commands.pytest() | |
| def build_push(): | |
| commands.build_push() | |
| def mkmig(): | |
| commands.mkmig() | |
| def mig(): | |
| commands.mig() | |
| def clean_mig(): | |
| commands.cleanmig() | |
| def redis(): | |
| commands.cleanredis() | |
| def logs(): | |
| commands.logs() | |
| def remakeall(): | |
| commands.remakeall() | |
| def remake(): | |
| commands.remake() | |
| def db(): | |
| commands.cleandb() | |
| def populate(): | |
| commands.populate() | |
| main.add_command(create) | |
| main.add_command(clean) | |
| main.add_command(start) | |
| main.add_command(mkmig) | |
| main.add_command(mig) | |
| main.add_command(populate) | |
| main.add_command(logs) | |
| main.add_command(remakeall) | |
| main.add_command(remake) | |
| main.add_command(dcstart) | |
| main.add_command(pytest) | |
| main.add_command(build_push) | |
| clean.add_command(db) | |
| clean.add_command(clean_mig) | |
| clean.add_command(redis) | |
| create.add_command(model) | |
| create.add_command(schema) | |
| create.add_command(crud) | |
| create.add_command(endpoint) | |
| create.add_command(all) | |
| if __name__ == "__main__": | |
| main() | |