mirror of https://github.com/JohnHammond/CTFd.git
51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
from flask import Flask
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
from flask_script import Manager
|
|
from flask_migrate import Migrate, MigrateCommand
|
|
from CTFd import create_app
|
|
from CTFd.utils import get_config as get_config_util, set_config as set_config_util
|
|
from CTFd.models import *
|
|
|
|
app = create_app()
|
|
|
|
manager = Manager(app)
|
|
manager.add_command("db", MigrateCommand)
|
|
|
|
|
|
def jsenums():
|
|
from CTFd.constants import JS_ENUMS
|
|
import json
|
|
import os
|
|
|
|
path = os.path.join(app.root_path, "themes/core/assets/js/constants.js")
|
|
|
|
with open(path, "w+") as f:
|
|
for k, v in JS_ENUMS.items():
|
|
f.write("const {} = Object.freeze({});".format(k, json.dumps(v)))
|
|
|
|
|
|
BUILD_COMMANDS = {"jsenums": jsenums}
|
|
|
|
|
|
@manager.command
|
|
def get_config(key):
|
|
with app.app_context():
|
|
print(get_config_util(key))
|
|
|
|
|
|
@manager.command
|
|
def set_config(key, value):
|
|
with app.app_context():
|
|
print(set_config_util(key, value).value)
|
|
|
|
|
|
@manager.command
|
|
def build(cmd):
|
|
with app.app_context():
|
|
cmd = BUILD_COMMANDS.get(cmd)
|
|
cmd()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
manager.run()
|