From e9a4a587c544b74e2daad2b73f70ba2437cbe4fd Mon Sep 17 00:00:00 2001 From: Ulrich Date: Thu, 15 Jun 2023 23:34:12 +0200 Subject: [PATCH] flask initial test - without new functionality --- basic/program.py | 1 - basic/user.py | 49 ---------------------- webflask/__init__.py | 40 +++++++----------- webflask/auth.py | 20 ++++----- webflask/datest.py | 3 +- webflask/index.py | 8 +++- webflask/templates/base.html | 9 ---- webflask/templates/selection.html | 0 webflask/templates/testcase/selection.html | 5 +++ webflask/testcase.py | 3 +- 10 files changed, 38 insertions(+), 100 deletions(-) delete mode 100644 basic/user.py create mode 100644 webflask/templates/selection.html create mode 100644 webflask/templates/testcase/selection.html diff --git a/basic/program.py b/basic/program.py index 410cc07..ac69d23 100644 --- a/basic/program.py +++ b/basic/program.py @@ -24,7 +24,6 @@ import tools.date_tool import tools.path_tool import tools.file_tool import tools.config_tool -import test.constants as T import tools.path_const as P import tools.job_tool diff --git a/basic/user.py b/basic/user.py deleted file mode 100644 index 44e2bb9..0000000 --- a/basic/user.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# --------------------------------------------------------------------------------------------------------- -# Author : Ulrich Carmesin -# Source : gitea.ucarmesin.de -# --------------------------------------------------------------------------------------------------------- -import basic.toolHandling -import utils.data_const as D -import basic.constants as B -import model.entity - -ddl = { - "user": { - "id": { - D.DDL_TYPE: D.TYPE_PK, - }, - "username": { - D.DDL_TYPE: D.TYPE_STR, - }, - "password": { - D.DDL_TYPE: D.TYPE_STRING, - } - } -} - -class User(model.entity.Entity): - username = "" - password = "" - - def __init__(self, job): - """ - to be initialized by readSpec - :param job: - """ - self.job = job - self.conf = {} - self.conf[B.TOPIC_CONN] = self.getDbAttr(job) - self.conf[B.DATA_NODE_DDL] = self.getDdl(job, ddl) - self.m = job.m - - def get_schema(self): - dbtype = self.job.conf[B.TOPIC_NODE_DB][B.ATTR_TYPE] - dbi = basic.toolHandling.getDbTool(self.job, None, dbtype) - sql = dbi.getCreateTable("user") - sql += dbi.getSchemaAttribut("id", "id")+"," - sql += dbi.getSchemaAttribut("username", D.TYPE_STR)+"," - sql += dbi.getSchemaAttribut("password", D.TYPE_STR) - sql += ");\n" - return sql \ No newline at end of file diff --git a/webflask/__init__.py b/webflask/__init__.py index 3cbc941..c3d10c7 100644 --- a/webflask/__init__.py +++ b/webflask/__init__.py @@ -1,4 +1,5 @@ import os + from flask import Flask @@ -7,7 +8,7 @@ def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) app.config.from_mapping( SECRET_KEY='dev', - DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'), + DATABASE=os.path.join(app.instance_path, 'webflask.sqlite'), ) if test_config is None: @@ -23,35 +24,22 @@ def create_app(test_config=None): except OSError: pass - from . import db - db.init_app(app) - from . import auth + # a simple page that says hello + @app.route('/hello') + def hello(): + return 'Hello, World from __init__!' + from . import index - from . import testcase - from . import testsuite - from . import components - from . import reports - from . import environment - app.register_blueprint(auth.bp) app.register_blueprint(index.bp) + from . import auth + app.register_blueprint(auth.bp) + from . import testcase app.register_blueprint(testcase.bp) + from . import testsuite app.register_blueprint(testsuite.bp) + from . import components app.register_blueprint(components.bp) + from . import reports app.register_blueprint(reports.bp) - app.register_blueprint(environment.bp) - - # a simple page that says hello - @app.route('/hello') - def hello(): - return 'Hello, World!' - - return app - - @app.route('/') - def index(): - return 'Index Page' - - @app.route('/index') - def index(): - return 'Index Page 2' + return app \ No newline at end of file diff --git a/webflask/auth.py b/webflask/auth.py index 597b7e4..3e0f74f 100644 --- a/webflask/auth.py +++ b/webflask/auth.py @@ -2,17 +2,15 @@ # -------------------------------------------------------------- import functools import traceback -import basic.user -import basic.program -import basic.constants as B -import basic.toolHandling - +import os from flask import ( Blueprint, flash, g, redirect, render_template, request, session, url_for ) from werkzeug.security import check_password_hash, generate_password_hash - import basic.program +import basic.constants as B +import basic.toolHandling +import model.user from webflask.db import get_db bp = Blueprint('auth', __name__, url_prefix='/auth') @@ -24,8 +22,8 @@ def login(): password = request.form['password'] job = basic.program.Job("webflask", {}) session['datest_job'] = job - dbtype = job.conf.confs[B.TOPIC_NODE_DB][B.ATTR_TYPE] - userentity = basic.user.User(job) + dbtype = job.conf[B.TOPIC_NODE_DB][B.ATTR_TYPE] + userentity = model.user.User() dbi = basic.toolHandling.getDbTool(job, userentity, dbtype) error = None row = dbi.selectRows("user", job, "WHERE username = \'" + username + "\'") @@ -51,7 +49,7 @@ def register(): username = request.form['username'] password = request.form['password'] job = basic.program.Job("webflask", {}) - dbtype = job.conf.confs[B.TOPIC_NODE_DB][B.ATTR_TYPE] + dbtype = job.conf[B.TOPIC_NODE_DB][B.ATTR_TYPE] dbi = basic.toolHandling.getDbTool(job, None, "mysql") # db = get_db() error = None @@ -65,7 +63,7 @@ def register(): try: sql = "INSERT INTO datest.user (username, password) " sql += "VALUES ( '"+username+"', '"+generate_password_hash(password)+"');" - dbi.execStatement(job.conf.confs[B.TOPIC_NODE_DB], sql ) + dbi.execStatement(job.conf[B.TOPIC_NODE_DB], sql ) #db.commit() except Exception as e: error = str(e) @@ -85,7 +83,7 @@ def load_logged_in_user(): g.user = None else: job = basic.program.Job("webflask", {}) - dbtype = job.conf.confs[B.TOPIC_NODE_DB][B.ATTR_TYPE] + dbtype = job.conf[B.TOPIC_NODE_DB][B.ATTR_TYPE] userentity = basic.user.User(job) dbi = basic.toolHandling.getDbTool(job, userentity, dbtype) error = None diff --git a/webflask/datest.py b/webflask/datest.py index 4cc22b8..93b5b60 100644 --- a/webflask/datest.py +++ b/webflask/datest.py @@ -7,7 +7,8 @@ from flask import ( ) from werkzeug.security import check_password_hash, generate_password_hash -from webflask.db import get_db +#from webflask.db import get_db +from . import db bp = Blueprint('testcase', __name__, url_prefix='/testcase') diff --git a/webflask/index.py b/webflask/index.py index cceb8aa..fcbcfc4 100644 --- a/webflask/index.py +++ b/webflask/index.py @@ -3,11 +3,13 @@ import functools from flask import ( - Blueprint, flash, g, redirect, render_template, request, session, url_for + Blueprint, app, flash, g, redirect, render_template, request, session, url_for ) from werkzeug.security import check_password_hash, generate_password_hash -from webflask.db import get_db +# import webflask.db + +#from webflask.db import get_db bp = Blueprint('index', __name__, url_prefix='/') @@ -21,3 +23,5 @@ def index(): return render_template('index.html') +if __name__ == "__main__": + app.run() diff --git a/webflask/templates/base.html b/webflask/templates/base.html index 14129a9..3ed5141 100644 --- a/webflask/templates/base.html +++ b/webflask/templates/base.html @@ -3,28 +3,19 @@ {% block title %}{% endblock %} - Datest - diff --git a/webflask/templates/selection.html b/webflask/templates/selection.html new file mode 100644 index 0000000..e69de29 diff --git a/webflask/templates/testcase/selection.html b/webflask/templates/testcase/selection.html new file mode 100644 index 0000000..4eb9985 --- /dev/null +++ b/webflask/templates/testcase/selection.html @@ -0,0 +1,5 @@ +{% extends 'base.html' %} + +{% block header %} +

{% block title %}Overview{% endblock %}

+{% endblock %} diff --git a/webflask/testcase.py b/webflask/testcase.py index d2c4948..ae3262c 100644 --- a/webflask/testcase.py +++ b/webflask/testcase.py @@ -1,7 +1,8 @@ # https://flask.palletsprojects.com/en/2.0.x/tutorial/views/ # -------------------------------------------------------------- import functools -import utils.config_tool +import tools.config_tool +import model.testcase as entity from flask import ( Blueprint, flash, g, redirect, render_template, request, session, url_for