Restructure code for pluginify
This commit is contained in:
parent
fac8afab03
commit
246bd90ebd
Binary file not shown.
|
@ -0,0 +1,5 @@
|
||||||
|
""" Server-package
|
||||||
|
"""
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
_modpath = Path(__file__).parent
|
|
@ -4,8 +4,8 @@
|
||||||
Initialize also a singelton for the AccesTokenControler and start the Thread.
|
Initialize also a singelton for the AccesTokenControler and start the Thread.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from .logger import getDebugLogger
|
from .system.logger import getDebugLogger
|
||||||
from geruecht.controller import dbConfig, ldapConfig
|
from .system.controller import dbConfig, ldapConfig
|
||||||
from flask_mysqldb import MySQL
|
from flask_mysqldb import MySQL
|
||||||
from flask_ldapconn import LDAPConn
|
from flask_ldapconn import LDAPConn
|
||||||
import ssl
|
import ssl
|
||||||
|
@ -19,6 +19,7 @@ from flask_cors import CORS
|
||||||
DEBUG.info("Build APP")
|
DEBUG.info("Build APP")
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
CORS(app)
|
CORS(app)
|
||||||
|
|
||||||
app.config['SECRET_KEY'] = '0a657b97ef546da90b2db91862ad4e29'
|
app.config['SECRET_KEY'] = '0a657b97ef546da90b2db91862ad4e29'
|
||||||
app.config['MYSQL_HOST'] = dbConfig['URL']
|
app.config['MYSQL_HOST'] = dbConfig['URL']
|
||||||
app.config['MYSQL_USER'] = dbConfig['user']
|
app.config['MYSQL_USER'] = dbConfig['user']
|
||||||
|
@ -42,18 +43,30 @@ app.config['FORCE_ATTRIBUTE_VALUE_AS_LIST'] = True
|
||||||
ldap = LDAPConn(app)
|
ldap = LDAPConn(app)
|
||||||
db = MySQL(app)
|
db = MySQL(app)
|
||||||
|
|
||||||
from geruecht import routes
|
import pkg_resources
|
||||||
from geruecht.baruser.routes import baruser
|
|
||||||
from geruecht.finanzer.routes import finanzer
|
discovered_plugins = {
|
||||||
from geruecht.user.routes import user
|
entry_point.name: entry_point.load()
|
||||||
from geruecht.vorstand.routes import vorstand
|
for entry_point
|
||||||
from geruecht.gastro.routes import gastrouser
|
in pkg_resources.iter_entry_points('geruecht.plugins')
|
||||||
from geruecht.registration_route import registration
|
}
|
||||||
|
|
||||||
|
#from geruecht import routes
|
||||||
|
#from geruecht.baruser.routes import baruser
|
||||||
|
#from geruecht.finanzer.routes import finanzer
|
||||||
|
#from geruecht.user.routes import user
|
||||||
|
#from geruecht.vorstand.routes import vorstand
|
||||||
|
#from geruecht.gastro.routes import gastrouser
|
||||||
|
#from geruecht.registration_route import registration
|
||||||
|
|
||||||
DEBUG.info("Registrate bluebrints")
|
DEBUG.info("Registrate bluebrints")
|
||||||
app.register_blueprint(baruser)
|
for k, v in discovered_plugins:
|
||||||
app.register_blueprint(finanzer)
|
DEBUG("Register %s" % k)
|
||||||
app.register_blueprint(user)
|
app.register_blueprint(v())
|
||||||
app.register_blueprint(vorstand)
|
|
||||||
app.register_blueprint(gastrouser)
|
#app.register_blueprint(baruser)
|
||||||
app.register_blueprint(registration)
|
#app.register_blueprint(finanzer)
|
||||||
|
#app.register_blueprint(user)
|
||||||
|
#app.register_blueprint(vorstand)
|
||||||
|
#app.register_blueprint(gastrouser)
|
||||||
|
#app.register_blueprint(registration)
|
Binary file not shown.
Binary file not shown.
|
@ -1,10 +1,9 @@
|
||||||
from geruecht.logger import getDebugLogger
|
from ..logger import getDebugLogger
|
||||||
from geruecht.configparser import ConifgParser
|
from ..configparser import ConifgParser
|
||||||
|
from flaschengeist import _modpath
|
||||||
import os
|
import os
|
||||||
|
|
||||||
print(os.getcwd())
|
config = ConifgParser(_modpath/'config.yml')
|
||||||
|
|
||||||
config = ConifgParser('geruecht/config.yml')
|
|
||||||
|
|
||||||
LOGGER = getDebugLogger()
|
LOGGER = getDebugLogger()
|
||||||
|
|
|
@ -5,7 +5,7 @@ from geruecht.model import MONEY, USER, GASTRO, BAR, VORSTAND, EXTERN
|
||||||
from geruecht.exceptions import PermissionDenied
|
from geruecht.exceptions import PermissionDenied
|
||||||
from . import Singleton
|
from . import Singleton
|
||||||
from geruecht.exceptions import UsernameExistLDAP, LDAPExcetpion
|
from geruecht.exceptions import UsernameExistLDAP, LDAPExcetpion
|
||||||
from geruecht import ldapConfig
|
from . import ldapConfig
|
||||||
from geruecht.logger import getDebugLogger
|
from geruecht.logger import getDebugLogger
|
||||||
|
|
||||||
debug = getDebugLogger()
|
debug = getDebugLogger()
|
|
@ -2,6 +2,9 @@ import logging
|
||||||
import logging.config
|
import logging.config
|
||||||
import yaml
|
import yaml
|
||||||
from os import path, makedirs, getcwd
|
from os import path, makedirs, getcwd
|
||||||
|
from .. import _modpath
|
||||||
|
|
||||||
|
fname = _modpath/'logging.yml'
|
||||||
|
|
||||||
if not path.exists("geruecht/log/debug"):
|
if not path.exists("geruecht/log/debug"):
|
||||||
a = path.join(path.curdir, "geruecht", "log", "debug")
|
a = path.join(path.curdir, "geruecht", "log", "debug")
|
||||||
|
@ -12,7 +15,7 @@ if not path.exists("geruecht/log/info"):
|
||||||
makedirs(b)
|
makedirs(b)
|
||||||
|
|
||||||
|
|
||||||
with open("geruecht/logging.yml", 'rb') as file:
|
with fname.open(mode='rb') as file:
|
||||||
config = yaml.safe_load(file.read())
|
config = yaml.safe_load(file.read())
|
||||||
logging.config.dictConfig(config)
|
logging.config.dictConfig(config)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from geruecht.logger import getDebugLogger
|
from ..logger import getDebugLogger
|
||||||
|
|
||||||
debug = getDebugLogger()
|
debug = getDebugLogger()
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
from ..logger import getDebugLogger
|
||||||
|
from datetime import datetime
|
||||||
|
debug = getDebugLogger()
|
||||||
|
|
||||||
|
|
||||||
|
class User():
|
||||||
|
""" Database Object for User
|
||||||
|
|
||||||
|
Table for all safed User
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
id: Id in Database as Primary Key.
|
||||||
|
username: Username of the User to Login
|
||||||
|
firstname: Firstname of the User
|
||||||
|
lastname: Lastname of the User
|
||||||
|
mail: mail address of the User
|
||||||
|
"""
|
||||||
|
def __init__(self, data):
|
||||||
|
debug.info("init user")
|
||||||
|
if 'id' in data:
|
||||||
|
self.id = int(data['id'])
|
||||||
|
self.firstname = data['firstname']
|
||||||
|
self.lastname = data['lastname']
|
||||||
|
if 'mail' in data:
|
||||||
|
self.mail = data['mail']
|
||||||
|
else:
|
||||||
|
self.mail = ''
|
||||||
|
if 'username' in data:
|
||||||
|
self.username = data['username']
|
||||||
|
else:
|
||||||
|
self.username = None
|
||||||
|
debug.debug("user is {{ {} }}".format(self))
|
||||||
|
|
||||||
|
def updateData(self, data):
|
||||||
|
debug.info("update data of user")
|
||||||
|
if 'firstname' in data:
|
||||||
|
self.firstname = data['firstname']
|
||||||
|
if 'lastname' in data:
|
||||||
|
self.lastname = data['lastname']
|
||||||
|
if 'mail' in data:
|
||||||
|
self.mail = data['mail']
|
||||||
|
if 'username' in data:
|
||||||
|
self.username = data['username']
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return "User({}, {})".format(self.uid, self.username)
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: user attributes (uid|key|value), getter, setter, has
|
|
@ -1,6 +0,0 @@
|
||||||
MONEY = "moneymaster"
|
|
||||||
VORSTAND = "vorstand"
|
|
||||||
EXTERN = "extern"
|
|
||||||
GASTRO = "gastro"
|
|
||||||
USER = "user"
|
|
||||||
BAR = "bar"
|
|
20
packages.txt
20
packages.txt
|
@ -1,20 +0,0 @@
|
||||||
bcrypt==3.1.6
|
|
||||||
cffi==1.12.3
|
|
||||||
Click==7.0
|
|
||||||
entrypoints==0.3
|
|
||||||
flake8==3.7.7
|
|
||||||
Flask==1.0.2
|
|
||||||
Flask-Bcrypt==0.7.1
|
|
||||||
Flask-Cors==3.0.7
|
|
||||||
Flask-SQLAlchemy==2.4.0
|
|
||||||
itsdangerous==1.1.0
|
|
||||||
Jinja2==2.10.1
|
|
||||||
MarkupSafe==1.1.1
|
|
||||||
mccabe==0.6.1
|
|
||||||
pkg-resources==0.0.0
|
|
||||||
pycodestyle==2.5.0
|
|
||||||
pycparser==2.19
|
|
||||||
pyflakes==2.1.1
|
|
||||||
six==1.12.0
|
|
||||||
SQLAlchemy==1.3.3
|
|
||||||
Werkzeug==0.15.2
|
|
14
required.txt
14
required.txt
|
@ -1,14 +0,0 @@
|
||||||
click==7.1.2
|
|
||||||
Flask==1.1.2
|
|
||||||
Flask-Cors==3.0.8
|
|
||||||
Flask-LDAPConn==0.10.1
|
|
||||||
Flask-MySQLdb==0.2.0
|
|
||||||
itsdangerous==1.1.0
|
|
||||||
Jinja2==2.11.2
|
|
||||||
ldap3==2.7
|
|
||||||
MarkupSafe==1.1.1
|
|
||||||
mysqlclient==1.4.6
|
|
||||||
pyasn1==0.4.8
|
|
||||||
PyYAML==5.3.1
|
|
||||||
six==1.15.0
|
|
||||||
Werkzeug==1.0.1
|
|
|
@ -1,4 +1,5 @@
|
||||||
from geruecht import app
|
#!/usr/bin/python3
|
||||||
|
from flaschengeist.app import app
|
||||||
|
|
||||||
""" Main
|
""" Main
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name='flaschengeist',
|
||||||
|
version='0.0.1',
|
||||||
|
url='https://wu5.de/redmine/projects/geruecht',
|
||||||
|
author='WU5 + Friends',
|
||||||
|
author_email='tim@groeger-clan.de',
|
||||||
|
description='Does things',
|
||||||
|
packages=find_packages(),
|
||||||
|
package_data={'': ['*.yml']},
|
||||||
|
scripts=['run_flaschengeist'],
|
||||||
|
install_requires=['Flask >= 1.0.2', 'PyYAML>=5.3.1', "flask_mysqldb", "flask_ldapconn", "flask_cors"],
|
||||||
|
entry_points = {
|
||||||
|
'flaschengeist.plugins': [
|
||||||
|
'users = flaschengeist.system.user:register'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
Loading…
Reference in New Issue