Move Gunicorn run file to setup

This commit is contained in:
Michał 2023-03-12 15:08:49 +00:00
parent 7ef4a1dd91
commit 79db45f7a2
4 changed files with 30 additions and 32 deletions

27
run.py
View file

@ -13,36 +13,15 @@ from setup.args import PORT, ADDRESS, WORKERS, DEBUG
from setup.configuration import Configuration
# Run prechecks
Configuration()
Configuration() # Run prechecks
if DEBUG:
from gallery import create_app
create_app().run(host=ADDRESS, port=PORT, debug=True, threaded=True)
else:
from gunicorn.app.base import Application
from gunicorn import util
class OnlyLegs(Application):
def __init__(self, options={}):
self.usage = None
self.callable = None
self.options = options
self.do_load_config()
def init(self, *args):
cfg = {}
for k, v in self.options.items():
if k.lower() in self.cfg.settings and v is not None:
cfg[k.lower()] = v
return cfg
def prog(self):
return 'OnlyLegs'
def load(self):
return util.import_app('gallery:create_app()')
from setup.runner import OnlyLegs
options = {
'bind': f'{ADDRESS}:{PORT}',

View file

@ -24,5 +24,4 @@ args = parser.parse_args()
PORT = args.port
ADDRESS = args.address
WORKERS = args.workers
DEBUG = args.debug

View file

@ -109,16 +109,14 @@ class Configuration:
continue
# Check if user is happy with the values
_ = input("Is this correct? (y/n): ")
if _ == 'y' or _ == 'Y':
if input("Is this correct? (y/n): ").lower() == 'y':
is_correct = True
yaml_conf = {
'admin': {
'name': '%s' % name,
'username': '%s' % username,
'email': '%s' % email,
'name': name,
'username': username,
'email': email,
},
'upload': {
'allowed-extensions': {

22
setup/runner.py Normal file
View file

@ -0,0 +1,22 @@
from gunicorn.app.base import Application
from gunicorn import util
class OnlyLegs(Application):
def __init__(self, options={}):
self.usage = None
self.callable = None
self.options = options
self.do_load_config()
def init(self, *args):
cfg = {}
for k, v in self.options.items():
if k.lower() in self.cfg.settings and v is not None:
cfg[k.lower()] = v
return cfg
def prog(self):
return 'OnlyLegs'
def load(self):
return util.import_app('gallery:create_app()')