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. | ||||
| 
 | ||||
| """ | ||||
| from .logger import getDebugLogger | ||||
| from geruecht.controller import dbConfig, ldapConfig | ||||
| from .system.logger import getDebugLogger | ||||
| from .system.controller import dbConfig, ldapConfig | ||||
| from flask_mysqldb import MySQL | ||||
| from flask_ldapconn import LDAPConn | ||||
| import ssl | ||||
|  | @ -19,6 +19,7 @@ from flask_cors import CORS | |||
| DEBUG.info("Build APP") | ||||
| app = Flask(__name__) | ||||
| CORS(app) | ||||
| 
 | ||||
| app.config['SECRET_KEY'] = '0a657b97ef546da90b2db91862ad4e29' | ||||
| app.config['MYSQL_HOST'] = dbConfig['URL'] | ||||
| app.config['MYSQL_USER'] = dbConfig['user'] | ||||
|  | @ -42,18 +43,30 @@ app.config['FORCE_ATTRIBUTE_VALUE_AS_LIST'] = True | |||
| ldap = LDAPConn(app) | ||||
| db = MySQL(app) | ||||
| 
 | ||||
| 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 | ||||
| import pkg_resources | ||||
| 
 | ||||
| discovered_plugins = { | ||||
|     entry_point.name: entry_point.load() | ||||
|     for entry_point | ||||
|     in pkg_resources.iter_entry_points('geruecht.plugins') | ||||
| } | ||||
| 
 | ||||
| #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") | ||||
| app.register_blueprint(baruser) | ||||
| app.register_blueprint(finanzer) | ||||
| app.register_blueprint(user) | ||||
| app.register_blueprint(vorstand) | ||||
| app.register_blueprint(gastrouser) | ||||
| app.register_blueprint(registration) | ||||
| for k, v in discovered_plugins: | ||||
|     DEBUG("Register %s" % k) | ||||
|     app.register_blueprint(v()) | ||||
| 
 | ||||
| #app.register_blueprint(baruser) | ||||
| #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 geruecht.configparser import ConifgParser | ||||
| from ..logger import getDebugLogger | ||||
| from ..configparser import ConifgParser | ||||
| from flaschengeist import _modpath | ||||
| import os | ||||
| 
 | ||||
| print(os.getcwd()) | ||||
| 
 | ||||
| config = ConifgParser('geruecht/config.yml') | ||||
| config = ConifgParser(_modpath/'config.yml') | ||||
| 
 | ||||
| LOGGER = getDebugLogger() | ||||
| 
 | ||||
|  | @ -5,7 +5,7 @@ from geruecht.model import MONEY, USER, GASTRO, BAR, VORSTAND, EXTERN | |||
| from geruecht.exceptions import PermissionDenied | ||||
| from . import Singleton | ||||
| from geruecht.exceptions import UsernameExistLDAP, LDAPExcetpion | ||||
| from geruecht import ldapConfig | ||||
| from . import ldapConfig | ||||
| from geruecht.logger import getDebugLogger | ||||
| 
 | ||||
| debug = getDebugLogger() | ||||
|  | @ -2,6 +2,9 @@ import logging | |||
| import logging.config | ||||
| import yaml | ||||
| from os import path, makedirs, getcwd | ||||
| from .. import _modpath | ||||
| 
 | ||||
| fname = _modpath/'logging.yml' | ||||
| 
 | ||||
| if not path.exists("geruecht/log/debug"): | ||||
|     a = path.join(path.curdir, "geruecht", "log", "debug") | ||||
|  | @ -12,7 +15,7 @@ if not path.exists("geruecht/log/info"): | |||
|     makedirs(b) | ||||
| 
 | ||||
| 
 | ||||
| with open("geruecht/logging.yml", 'rb') as file: | ||||
| with fname.open(mode='rb') as file: | ||||
|     config = yaml.safe_load(file.read()) | ||||
| logging.config.dictConfig(config) | ||||
| 
 | ||||
|  | @ -1,5 +1,5 @@ | |||
| from datetime import datetime | ||||
| from geruecht.logger import getDebugLogger | ||||
| from ..logger import 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 | ||||
|      | ||||
|  | @ -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