diff --git a/.gitignore b/.gitignore index 6e43a82..ecc3336 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ __pycache__/ .mypy_cache/ venv/ -instance/ .vscode/ .idea/ diff --git a/Makefile b/Makefile index d505860..8788c91 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ dev: - FLASK_DEBUG="true" python3 -m flask run + FLASK_DEBUG="true" flask run prod: - python3 -m gunicorn -w 4 "app:create_app()" + flask run format: python3 -m autopep8 -r --in-place flaskapp/ diff --git a/app.py b/app.py index 3847282..338aac7 100644 --- a/app.py +++ b/app.py @@ -1 +1 @@ -from flaskapp.app import create_app +from flaskapp.app import app diff --git a/flaskapp/__init__.py b/flaskapp/__init__.py index e69de29..3d5eb81 100644 --- a/flaskapp/__init__.py +++ b/flaskapp/__init__.py @@ -0,0 +1,3 @@ +"""Init file for the module""" + +from .app import app diff --git a/flaskapp/app.py b/flaskapp/app.py index 31a7105..ffa173c 100644 --- a/flaskapp/app.py +++ b/flaskapp/app.py @@ -1,39 +1,20 @@ -"""Flask web application main script""" +"""Flask web application +main script""" -import os -import secrets +from pathlib import Path from flask import Flask -from . import routes -from . import errors +root = Path('..') +static = str(root / 'static') +tmpl = str(root / 'templates') -def create_app() -> Flask: - """Flask app factory function""" +app = Flask( + '${REPO_NAME_SNAKE}', + static_folder=static, + template_folder=tmpl, +) - # Create an app object - app = Flask( - __name__, - static_folder='../static', - template_folder='../templates', - instance_relative_config=True, - ) - # Get the token from environment - # or generate it using secrets - app.config['SECRET_KEY'] = os.getenv( - 'SECRET_KEY', - secrets.token_hex(32), - ) - - # Create instance/ directory - try: - os.makedirs(app.instance_path) - except OSError: - pass - - # Add routes - routes.add_routes(app) - errors.add_routes(app) - - return app +if __name__ == '__main__': + app.run() diff --git a/flaskapp/errors.py b/flaskapp/errors.py deleted file mode 100644 index d0382d6..0000000 --- a/flaskapp/errors.py +++ /dev/null @@ -1,48 +0,0 @@ -"""Flask app error handlers""" - -from pathlib import Path - -from flask import Flask -from flask import render_template - -# Add other HTTP error codes here -CODES = [404, 500] - - -def add_routes(app: Flask) -> None: - """Add all error handlers - - Args: - app (Flask): Flask application - """ - - tmpl_dir = app.template_folder - if tmpl_dir is None: - return - - tmpl = Path(__file__).parent / tmpl_dir - - for code in CODES: - add_handler(app, tmpl, code) - - -def add_handler( - app: Flask, - tmpl: Path, - code: int) -> None: - """Add Flask app error handler. - Only for internal use - - Args: - app (Flask): Flask application - file (str): Template filename - code (int): Error code - """ - - file = f'{code}.html' - - if (tmpl / file).exists(): - - @app.errorhandler(code) - def handler(_e): - return render_template(file), code diff --git a/flaskapp/routes.py b/flaskapp/routes.py deleted file mode 100644 index 785b5dd..0000000 --- a/flaskapp/routes.py +++ /dev/null @@ -1,16 +0,0 @@ -"""Main Flask app routes""" - -from flask import Flask -from flask import render_template - - -def add_routes(app: Flask) -> None: - """Add main routes - - Args: - app (Flask): Flask application - """ - - @app.route('/') - def index(): - return render_template('index.html') diff --git a/requirements.txt b/requirements.txt index 72e3f57..f87e031 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1 @@ flask==2.2.2 -gunicorn==20.1.0 diff --git a/static/css/style.css b/static/css/style.css deleted file mode 100644 index 0d629db..0000000 --- a/static/css/style.css +++ /dev/null @@ -1,31 +0,0 @@ -body { - height: 100vh; - padding: 0; - margin: 0; - font-family: sans-serif; - - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - - background: #fff; - color: #000; -} - -@media (prefers-color-scheme: dark) { - body { - background: #202023; - color: #eee; - } -} - -header { margin-top: 5px; } -footer { margin-bottom: 5px; } - -a { - color: #5b8a55; -} -a:hover { - filter: brightness(120%); -} diff --git a/static/js/script.js b/static/js/script.js deleted file mode 100644 index 65e1260..0000000 --- a/static/js/script.js +++ /dev/null @@ -1,4 +0,0 @@ -addEventListener('load', () => { - document.getElementById('js') - .innerText = new Date().toLocaleString() -}) diff --git a/templates/404.html b/templates/404.html deleted file mode 100644 index 3faabe7..0000000 --- a/templates/404.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends "base.html" %} - -{% block title %}404{% endblock %} - -{% block content %} -

404: Not Found

-

- Go to the - main page -

-{% endblock %} diff --git a/templates/500.html b/templates/500.html deleted file mode 100644 index 2835a07..0000000 --- a/templates/500.html +++ /dev/null @@ -1,15 +0,0 @@ -{% extends "base.html" %} - -{% block title %}500{% endblock %} - -{% block content %} -

500: ISE

-

- An error occured while - processing your request. -

-

- Please, try again later - or contact web site admin. -

-{% endblock %} diff --git a/templates/base.html b/templates/base.html deleted file mode 100644 index aa55818..0000000 --- a/templates/base.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - {% block title %}{% endblock %} | ${REPO_NAME} - - - - -
${REPO_NAME}
-
- {% block content %}{% endblock %} -
- - - diff --git a/templates/index.html b/templates/index.html deleted file mode 100644 index a6c7f3b..0000000 --- a/templates/index.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Main page{% endblock %} - -{% block content %} -

- This is the default main page of - - Flask app template - -

-{% endblock %}