diff --git a/verse/adminpage.py b/verse/adminpage.py index c12fac3..7504d30 100644 --- a/verse/adminpage.py +++ b/verse/adminpage.py @@ -1,15 +1,16 @@ import os import shutil -from app import db -from distribusisinfo import DistribusisInfo from flask import render_template +from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, + InvalidRequestError) + +from app import db +from distribusikan.distribusisinfo import DistribusisInfo from forms.admindistribusiform import AdminDistribusiForm from forms.adminuserform import AdminUserForm from models.distribusimodel import Distribusis from models.usermodel import User -from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, - InvalidRequestError) def AdminPage(): diff --git a/verse/admintool.py b/verse/admintool.py index 8fc9e2e..21aa782 100644 --- a/verse/admintool.py +++ b/verse/admintool.py @@ -1,10 +1,11 @@ import sys +from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, + InvalidRequestError) + from app import create_app, db from models.distribusimodel import Distribusis # noqa: F401 from models.usermodel import User # noqa: F401 -from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, - InvalidRequestError) def admintool(): diff --git a/verse/app.py b/verse/app.py index 8112e94..56dd762 100644 --- a/verse/app.py +++ b/verse/app.py @@ -16,7 +16,7 @@ login_manager = LoginManager() def create_app(): - APP.secret_key = "secret-key" + APP.secret_key = os.urandom(24) APP.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///distribusiverse.db" APP.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True APP.config["MAX_CONTENT_LENGTH"] = 1024 * 1024 * 1024 @@ -59,6 +59,10 @@ def settings(): return APP +def get_app(): + return APP + + def settings_from_file(): settings = {} if os.path.isfile("settings_development.toml"): diff --git a/verse/deploydb.py b/verse/deploydb.py index 6ebd4eb..26c2e5b 100644 --- a/verse/deploydb.py +++ b/verse/deploydb.py @@ -1,7 +1,8 @@ def deploy(): """Run deployment of database.""" - from app import create_app, db from flask_migrate import init, migrate, stamp, upgrade + + from app import create_app, db from models.distribusimodel import Distribusis # noqa: F401 # This model is required for flask_migrate to make the table from models.usermodel import User # noqa: F401 diff --git a/verse/distribusikan/distribusikan.py b/verse/distribusikan/distribusikan.py new file mode 100644 index 0000000..6350228 --- /dev/null +++ b/verse/distribusikan/distribusikan.py @@ -0,0 +1,46 @@ +from flask import Blueprint +from flask_login import login_required + +from distribusikan.distribusiselector import DistribusiSelector +# Distribusi Information +from distribusikan.distribusisinfo import DistribusisInfo +from distribusikan.distribusiworkflow import DistribusiWorkflow +from distribusikan.editor import Editor +from distribusikan.themeselector import ThemeSelector +from distribusikan.uploadpage import UploadPage + +distribusikan = Blueprint( + "distribusikan", + __name__, + template_folder="templates/distribusikan", + static_folder="static", +) + + +@distribusikan.route("/distribusi", methods=["GET", "POST"]) +@login_required +def distribusi(): + return DistribusiWorkflow() + + +@distribusikan.route("/upload", methods=["POST"]) +@login_required +def upload(): + return UploadPage() + + +@distribusikan.route("/theme", methods=["GET", "POST"]) +@login_required +def theme(): + return ThemeSelector() + +@distribusikan.route("/editor", methods=["GET", "POST"]) +@login_required +def editor(): + return Editor() + + +@distribusikan.route("/selector", methods=["GET", "POST"]) +@login_required +def selector(): + return DistribusiSelector() diff --git a/verse/distribusiselector.py b/verse/distribusikan/distribusiselector.py similarity index 98% rename from verse/distribusiselector.py rename to verse/distribusikan/distribusiselector.py index 3a5d72f..64a8ef4 100644 --- a/verse/distribusiselector.py +++ b/verse/distribusikan/distribusiselector.py @@ -1,10 +1,13 @@ import os import shutil -from app import db -from distribusisinfo import DistribusisInfo from flask import flash, render_template from flask_login import current_user +from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, + InvalidRequestError) + +from app import db +from distribusikan.distribusisinfo import DistribusisInfo from forms.distribusiform import DistribusiForm from forms.publicthemeform import PublicThemeForm from forms.selectorform import SelectorForm @@ -12,8 +15,6 @@ from forms.themeform import ThemeForm from forms.uploadform import UploadForm from models.distribusimodel import Distribusis from models.usermodel import User -from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, - InvalidRequestError) # UserPengguna from statuspengguna.helper import UserHelper diff --git a/verse/distribusisinfo.py b/verse/distribusikan/distribusisinfo.py similarity index 99% rename from verse/distribusisinfo.py rename to verse/distribusikan/distribusisinfo.py index 0b40c1b..5a47d5f 100644 --- a/verse/distribusisinfo.py +++ b/verse/distribusikan/distribusisinfo.py @@ -1,4 +1,5 @@ from flask_login import current_user + from models.distribusimodel import Distribusis from models.usermodel import User diff --git a/verse/distribusiworkflow.py b/verse/distribusikan/distribusiworkflow.py similarity index 97% rename from verse/distribusiworkflow.py rename to verse/distribusikan/distribusiworkflow.py index f073232..bd7260f 100644 --- a/verse/distribusiworkflow.py +++ b/verse/distribusikan/distribusiworkflow.py @@ -2,13 +2,17 @@ import os import shutil import zipfile -from app import db # Tada! from distribusi.cli import build_argparser -from distribusiselector import SelectorVisible -from distribusisinfo import DistribusisInfo +from distribusi.distribusi import distribusify from flask import flash, redirect, render_template, url_for from flask_login import current_user +from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, + InvalidRequestError) + +from app import db +from distribusikan.distribusiselector import SelectorVisible +from distribusikan.distribusisinfo import DistribusisInfo from forms.distribusiform import DistribusiForm from forms.publicthemeform import PublicThemeForm from forms.selectorform import SelectorForm @@ -17,13 +21,9 @@ from forms.themeform import ThemeForm from forms.uploadform import UploadForm from models.distribusimodel import Distribusis from models.usermodel import User -from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, - InvalidRequestError) # UserPengguna from statuspengguna.helper import UserHelper -from distribusi.distribusi import distribusify - def DistribusiWorkflow(): distribusiform = DistribusiForm() diff --git a/verse/editor.py b/verse/distribusikan/editor.py similarity index 99% rename from verse/editor.py rename to verse/distribusikan/editor.py index bfbfaeb..8fb0c9c 100644 --- a/verse/editor.py +++ b/verse/distribusikan/editor.py @@ -2,10 +2,14 @@ import os import shutil import bleach -from app import db from bleach_allowlist import all_styles -from distribusisinfo import DistribusisInfo from flask import render_template +from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, + InvalidRequestError) +from werkzeug.utils import secure_filename + +from app import db +from distribusikan.distribusisinfo import DistribusisInfo from forms.distribusiform import DistribusiForm from forms.editorform import EditorForm from forms.publicthemeform import PublicThemeForm @@ -13,10 +17,7 @@ from forms.selectorform import SelectorForm from forms.themeform import ThemeForm from forms.uploadform import UploadForm from models.distribusimodel import Distribusis -from sqlalchemy.exc import (DatabaseError, DataError, InterfaceError, - InvalidRequestError) from statuspengguna.helper import UserHelper -from werkzeug.utils import secure_filename def Editor(): diff --git a/verse/templates/distribusi.html b/verse/distribusikan/templates/distribusikan/distribusi.html similarity index 97% rename from verse/templates/distribusi.html rename to verse/distribusikan/templates/distribusikan/distribusi.html index 8182e00..e85f04c 100644 --- a/verse/templates/distribusi.html +++ b/verse/distribusikan/templates/distribusikan/distribusi.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "base/base.html" %} {% block main %}