From 246bd90ebd4953fb8e239d0e407788b85a7b24c3 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 13 Aug 2020 19:48:26 +0200 Subject: [PATCH] Restructure code for pluginify --- flaschengeist/.app.py.swp | Bin 0 -> 12288 bytes flaschengeist/__init__.py | 5 ++ geruecht/__init__.py => flaschengeist/app.py | 43 +++++++++------ .../config.example.yml | 0 {geruecht => flaschengeist}/logging.yml | 0 flaschengeist/modules/baruser/.routes.py.swp | Bin 0 -> 16384 bytes .../modules}/baruser/__init__.py | 0 .../modules}/baruser/routes.py | 0 .../modules}/creditList.py | 0 .../modules}/finanzer/__init__.py | 0 .../modules}/finanzer/routes.py | 0 .../modules}/gastro/__init__.py | 0 .../modules}/gastro/routes.py | 0 .../modules}/registration_route.py | 0 {geruecht => flaschengeist/modules}/routes.py | 0 .../model => flaschengeist/modules}/user.py | 0 .../modules}/user/__init__.py | 0 .../modules}/user/routes.py | 0 .../modules}/vorstand/__init__.py | 0 .../modules}/vorstand/routes.py | 0 flaschengeist/system/__init__.py | 0 .../system}/configparser.py | 0 .../system/controller/.ldapController.py.swp | Bin 0 -> 16384 bytes .../system}/controller/__init__.py | 9 ++-- .../controller/accesTokenController.py | 0 .../controller/databaseController/__init__.py | 0 .../dbAccessTokenController.py | 0 .../dbCreditListController.py | 0 .../dbJobInviteController.py | 0 .../databaseController/dbJobKindController.py | 0 .../dbJobRequesController.py | 0 .../dbPricelistController.py | 0 .../dbRegistrationController.py | 0 .../databaseController/dbUserController.py | 0 .../databaseController/dbWorkerController.py | 0 .../dbWorkgroupController.py | 0 .../system}/controller/emailController.py | 0 .../system}/controller/ldapController.py | 2 +- .../controller/mainController/__init__.py | 0 .../mainCreditListController.py | 0 .../mainController/mainJobInviteController.py | 0 .../mainController/mainJobKindController.py | 0 .../mainJobRequestController.py | 0 .../mainController/mainPasswordReset.py | 0 .../mainController/mainPricelistController.py | 0 .../mainRegistrationController.py | 0 .../mainController/mainUserController.py | 0 .../mainController/mainWorkerController.py | 0 .../mainController/mainWorkgroupController.py | 0 .../system}/decorator.py | 0 .../system}/exceptions/__init__.py | 0 {geruecht => flaschengeist/system}/logger.py | 5 +- flaschengeist/system/model/__init__.py | 0 .../system}/model/accessToken.py | 2 +- flaschengeist/system/model/user.py | 49 ++++++++++++++++++ geruecht/model/__init__.py | 6 --- packages.txt | 20 ------- required.txt | 14 ----- run.py => run_flaschengeist | 3 +- setup.py | 19 +++++++ 60 files changed, 113 insertions(+), 64 deletions(-) create mode 100644 flaschengeist/.app.py.swp create mode 100644 flaschengeist/__init__.py rename geruecht/__init__.py => flaschengeist/app.py (61%) rename geruecht/config.yml.example => flaschengeist/config.example.yml (100%) rename {geruecht => flaschengeist}/logging.yml (100%) create mode 100644 flaschengeist/modules/baruser/.routes.py.swp rename {geruecht => flaschengeist/modules}/baruser/__init__.py (100%) rename {geruecht => flaschengeist/modules}/baruser/routes.py (100%) rename {geruecht/model => flaschengeist/modules}/creditList.py (100%) rename {geruecht => flaschengeist/modules}/finanzer/__init__.py (100%) rename {geruecht => flaschengeist/modules}/finanzer/routes.py (100%) rename {geruecht => flaschengeist/modules}/gastro/__init__.py (100%) rename {geruecht => flaschengeist/modules}/gastro/routes.py (100%) rename {geruecht => flaschengeist/modules}/registration_route.py (100%) rename {geruecht => flaschengeist/modules}/routes.py (100%) rename {geruecht/model => flaschengeist/modules}/user.py (100%) rename {geruecht => flaschengeist/modules}/user/__init__.py (100%) rename {geruecht => flaschengeist/modules}/user/routes.py (100%) rename {geruecht => flaschengeist/modules}/vorstand/__init__.py (100%) rename {geruecht => flaschengeist/modules}/vorstand/routes.py (100%) create mode 100644 flaschengeist/system/__init__.py rename {geruecht => flaschengeist/system}/configparser.py (100%) create mode 100644 flaschengeist/system/controller/.ldapController.py.swp rename {geruecht => flaschengeist/system}/controller/__init__.py (72%) rename {geruecht => flaschengeist/system}/controller/accesTokenController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/__init__.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbAccessTokenController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbCreditListController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbJobInviteController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbJobKindController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbJobRequesController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbPricelistController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbRegistrationController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbUserController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbWorkerController.py (100%) rename {geruecht => flaschengeist/system}/controller/databaseController/dbWorkgroupController.py (100%) rename {geruecht => flaschengeist/system}/controller/emailController.py (100%) rename {geruecht => flaschengeist/system}/controller/ldapController.py (99%) rename {geruecht => flaschengeist/system}/controller/mainController/__init__.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainCreditListController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainJobInviteController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainJobKindController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainJobRequestController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainPasswordReset.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainPricelistController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainRegistrationController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainUserController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainWorkerController.py (100%) rename {geruecht => flaschengeist/system}/controller/mainController/mainWorkgroupController.py (100%) rename {geruecht => flaschengeist/system}/decorator.py (100%) rename {geruecht => flaschengeist/system}/exceptions/__init__.py (100%) rename {geruecht => flaschengeist/system}/logger.py (86%) create mode 100644 flaschengeist/system/model/__init__.py rename {geruecht => flaschengeist/system}/model/accessToken.py (98%) create mode 100644 flaschengeist/system/model/user.py delete mode 100644 geruecht/model/__init__.py delete mode 100644 packages.txt delete mode 100644 required.txt rename run.py => run_flaschengeist (67%) create mode 100644 setup.py diff --git a/flaschengeist/.app.py.swp b/flaschengeist/.app.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..cfc7fadd141df886a10b934aec5c3081972d59fe GIT binary patch literal 12288 zcmeI2O^n+_6vw9^O8IC(Ahp*aRh0y7lkK+Mc2@#5o47P;x=HP%rQ*Yy*ptM>vCY`o zDy?WGK;lpdf#A-S3m0x&xbY!zX# z*t$t8pcQzO0td;-wG(QqAI-f)UwonSCmKr5gX&MLhgd! zz^~v7kbn!|Fu40HA>V*I;B8O?hrj{w%QNT$x51m>IQa8vLVf_BgU`S%5P%VQ9b5(H zz!C5``0*)1z6aldFTqXF0LQ=|2M`N<3O)foXn-#Q+)4W-x`zr{m zq;!CUyr(7xvPZ+dEqEM`g~Q{LCzm8nS&E4rg;L-`{=Tr&S;?n!DyMG7P=%ZMTngBT zZ_Zlas3&s^MY1^0^c8v&-v`r4+LaF>ZWq0mCf4Of0jsP?e3wONY1AsMY8V7*BasWx z34@;3eCGf^!?kLwC8zXtrrw?$k}gt{P@) z7RP=`ez3Qj+s2}OyJ6W^4AZJNw^dYW-ZGo*X0_R{(YbTNUR(6)ScYv`4do%nf}O z=BCn7zROaP9h-{^w3^fDm`xyUTr{=}6H~GvZpVb+yR0u=!-}%29n->UX;iFK;e5?= zlImE*p~x>WuWhNwZa14WmnE#rV!kwZ3sJ8&&Dxw##Nzn6yVL_~BhCH69b}bQYI~tM zUCa+`7e|>+y?xQRrjp37vh~wvx*KPB@ARp4mu;+e*WB*LiL>i#%ss`|Hu8j2o2Hd+ zDl9VW6?wRNSg>umoo&0gt0HfWJ>R93R!df4RfK!e+IH~x$?A=aH`A9jtFZX(CLavb z`d$yb#ACj9gVRbBA*AX=3Voi`cz4`ygniT^RFJGxV8_jbw&emr5eTw-WHn;eW;BW4 z^-)u%#YPpDw7(Qj@H`&LGJ@x;?{kqEWeTs%Y@gjezRE1K-<>bX<#I&ru9*R1Cx?{L z*u$Z9KM4aWt7$U8$Q@MSb~xk#)|ku#Y2ZOl@i@l=Oj@)Df-|?Y5HX5Ys1$yMW~)*; zb{#Q^5?YWqP)jcq?tsMu+_|U>nCo(vdI%n>_?ULzbJUlR5|PPMiwiuKk4MZIvOXt& E1Ck0(?*IS* literal 0 HcmV?d00001 diff --git a/flaschengeist/__init__.py b/flaschengeist/__init__.py new file mode 100644 index 0000000..2cbd85f --- /dev/null +++ b/flaschengeist/__init__.py @@ -0,0 +1,5 @@ +""" Server-package +""" + +from pathlib import Path +_modpath = Path(__file__).parent diff --git a/geruecht/__init__.py b/flaschengeist/app.py similarity index 61% rename from geruecht/__init__.py rename to flaschengeist/app.py index 2687a9a..3fc4b3c 100644 --- a/geruecht/__init__.py +++ b/flaschengeist/app.py @@ -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) diff --git a/geruecht/config.yml.example b/flaschengeist/config.example.yml similarity index 100% rename from geruecht/config.yml.example rename to flaschengeist/config.example.yml diff --git a/geruecht/logging.yml b/flaschengeist/logging.yml similarity index 100% rename from geruecht/logging.yml rename to flaschengeist/logging.yml diff --git a/flaschengeist/modules/baruser/.routes.py.swp b/flaschengeist/modules/baruser/.routes.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..c213588c08c951d559f910f86882f27ec41e8e14 GIT binary patch literal 16384 zcmeHOO^h5z6)uusAYdor#{xy5a_2DP(C%FmgDi_7UT4>d(f(<7ZDB2&p|`tcr!zg> zLwAoitJT5@0+Bc&!WD#s03o=*_o}-3Z)UAQvJ?rb zrEj~dUcJ{}T#qvL*M}~2PbAMi+Ig6GHFkl!k3>XFs1BL;^fMMW&n1O8cAp0`f_dwpp=kohI8ux$am&o(G4f%t4`lI>% zrww_YG&jS5VZbn87%&VN1`Gp+0mFb{z%XDKFbo(5-UbF-Z0>&q@BI!f__6=5*Z*%k z!r03|0(=_y81Va3jC~Kd1&o2u1DAoPfYZQ-fPbB2>`maCz&C)Gf!lxwtO4f$8~DTf z7<&u&74Q-ufF0l}&;e}VpYLVtcfe18uK-^Fo&-(~E^rfg z3iuT8LEvu>p&alUa2L1*H~<5FhQP>OAOfxd7l01~4+DQj(B%!_HQ?(2^})Aw;APra z;Q8eT-gXP;B(iQQMAX{h9e!vX2sg1VaXJ~{6f%c$ZEg+YDCKlGz}_5sXPym5&0c@Z!jyETHm_c+hK9n2RtKd^L^)tF<;e7zx=>dZ>%sVLXm9 zDRjfIDg!T)jx7G{=GtoeY#}4lWC#UXxq2a^3S25u)skK!{2*%;GE^QfGj8e3yaAcuU zN533uviYdPGx;H!HjM|RL{Fs-6-0SDx$`v4Cvg~J96|Fs1Z|RDTP#ZxD=N?Csx3CJ zTeekOD)qBD&h2!zaG0mG(|Dch`wOx&+XcteKGchDSuhk%6z@;)NQA3e6lw**L6o(j z>~8CRu5hbbpsb^SO!}>z!U*X>nusrs1r9fXjPCPktot!b4pguEVt2gf1W_+;TXSe5 zT4AXsT9#E9>I`uL*9yNZGK6Hg5G-DEF4dx>2RuyU1B~$Ls?@Q^Ick#WYtm_J3Ej1YrUS2*nd;1Sfn0c|=IOO? zCXY{rVWn`*_&i5(CMP=O$Ak(MC8jvbEwYc%npS@-yJ~|dd~9V!g@`_az_mDm2fOZ3C*IcJQI$x+od0G zw~NZDpVTr+V#GWxC&yWwApM_`EYcjQ5HK22#Yo4gaZ=#Ha1n_+zC>h-xsqx3NLMW{<+`eE~xwbiAYHov~Pgv5=tjm@ov)kT{xeQs-MV^wME zU!B&|X;xHN9Z+|$)X@{?sa-~c*1MNhqu)?|c+c|Gg=NRl+$8i=oqPDk4|Ii#KD6~* z*4EP{M(h7Ytfzki(E4BR-~Slv{a1mPfENKDcoujJ_y^YcZvo!|?f@}BF@RIRN#M6w z-+vdl3w#wg1a1Nsfz!aBu(p2%SO!i2Z|3j+HPyjfh5^HXVZbn87%&VN1`Gp+0mHz5 z#{eyY8-dBg)-4xHxfTLNo+sCm^v}8jiq;;f7(z8#*(#%zmefOlNro+3I&3*%r4q!{ zGA#Y3t%Dp`3}_LxK&w}^ux)D{C!=+)&9~KxOs&HzF?(I^INRgVahA(SiMCNN0AtX? z7J%Yt)*S%EbM)ST3Q+S-hg%e(wp4sYzX|(I zBv1mG_bZqnjbr&i_@% literal 0 HcmV?d00001 diff --git a/geruecht/baruser/__init__.py b/flaschengeist/modules/baruser/__init__.py similarity index 100% rename from geruecht/baruser/__init__.py rename to flaschengeist/modules/baruser/__init__.py diff --git a/geruecht/baruser/routes.py b/flaschengeist/modules/baruser/routes.py similarity index 100% rename from geruecht/baruser/routes.py rename to flaschengeist/modules/baruser/routes.py diff --git a/geruecht/model/creditList.py b/flaschengeist/modules/creditList.py similarity index 100% rename from geruecht/model/creditList.py rename to flaschengeist/modules/creditList.py diff --git a/geruecht/finanzer/__init__.py b/flaschengeist/modules/finanzer/__init__.py similarity index 100% rename from geruecht/finanzer/__init__.py rename to flaschengeist/modules/finanzer/__init__.py diff --git a/geruecht/finanzer/routes.py b/flaschengeist/modules/finanzer/routes.py similarity index 100% rename from geruecht/finanzer/routes.py rename to flaschengeist/modules/finanzer/routes.py diff --git a/geruecht/gastro/__init__.py b/flaschengeist/modules/gastro/__init__.py similarity index 100% rename from geruecht/gastro/__init__.py rename to flaschengeist/modules/gastro/__init__.py diff --git a/geruecht/gastro/routes.py b/flaschengeist/modules/gastro/routes.py similarity index 100% rename from geruecht/gastro/routes.py rename to flaschengeist/modules/gastro/routes.py diff --git a/geruecht/registration_route.py b/flaschengeist/modules/registration_route.py similarity index 100% rename from geruecht/registration_route.py rename to flaschengeist/modules/registration_route.py diff --git a/geruecht/routes.py b/flaschengeist/modules/routes.py similarity index 100% rename from geruecht/routes.py rename to flaschengeist/modules/routes.py diff --git a/geruecht/model/user.py b/flaschengeist/modules/user.py similarity index 100% rename from geruecht/model/user.py rename to flaschengeist/modules/user.py diff --git a/geruecht/user/__init__.py b/flaschengeist/modules/user/__init__.py similarity index 100% rename from geruecht/user/__init__.py rename to flaschengeist/modules/user/__init__.py diff --git a/geruecht/user/routes.py b/flaschengeist/modules/user/routes.py similarity index 100% rename from geruecht/user/routes.py rename to flaschengeist/modules/user/routes.py diff --git a/geruecht/vorstand/__init__.py b/flaschengeist/modules/vorstand/__init__.py similarity index 100% rename from geruecht/vorstand/__init__.py rename to flaschengeist/modules/vorstand/__init__.py diff --git a/geruecht/vorstand/routes.py b/flaschengeist/modules/vorstand/routes.py similarity index 100% rename from geruecht/vorstand/routes.py rename to flaschengeist/modules/vorstand/routes.py diff --git a/flaschengeist/system/__init__.py b/flaschengeist/system/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/geruecht/configparser.py b/flaschengeist/system/configparser.py similarity index 100% rename from geruecht/configparser.py rename to flaschengeist/system/configparser.py diff --git a/flaschengeist/system/controller/.ldapController.py.swp b/flaschengeist/system/controller/.ldapController.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..673b1b5c5fdeed0ca0996ea6fafe1af1db199463 GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/geruecht/controller/__init__.py b/flaschengeist/system/controller/__init__.py similarity index 72% rename from geruecht/controller/__init__.py rename to flaschengeist/system/controller/__init__.py index b7f1734..7b2f4c6 100644 --- a/geruecht/controller/__init__.py +++ b/flaschengeist/system/controller/__init__.py @@ -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() diff --git a/geruecht/controller/accesTokenController.py b/flaschengeist/system/controller/accesTokenController.py similarity index 100% rename from geruecht/controller/accesTokenController.py rename to flaschengeist/system/controller/accesTokenController.py diff --git a/geruecht/controller/databaseController/__init__.py b/flaschengeist/system/controller/databaseController/__init__.py similarity index 100% rename from geruecht/controller/databaseController/__init__.py rename to flaschengeist/system/controller/databaseController/__init__.py diff --git a/geruecht/controller/databaseController/dbAccessTokenController.py b/flaschengeist/system/controller/databaseController/dbAccessTokenController.py similarity index 100% rename from geruecht/controller/databaseController/dbAccessTokenController.py rename to flaschengeist/system/controller/databaseController/dbAccessTokenController.py diff --git a/geruecht/controller/databaseController/dbCreditListController.py b/flaschengeist/system/controller/databaseController/dbCreditListController.py similarity index 100% rename from geruecht/controller/databaseController/dbCreditListController.py rename to flaschengeist/system/controller/databaseController/dbCreditListController.py diff --git a/geruecht/controller/databaseController/dbJobInviteController.py b/flaschengeist/system/controller/databaseController/dbJobInviteController.py similarity index 100% rename from geruecht/controller/databaseController/dbJobInviteController.py rename to flaschengeist/system/controller/databaseController/dbJobInviteController.py diff --git a/geruecht/controller/databaseController/dbJobKindController.py b/flaschengeist/system/controller/databaseController/dbJobKindController.py similarity index 100% rename from geruecht/controller/databaseController/dbJobKindController.py rename to flaschengeist/system/controller/databaseController/dbJobKindController.py diff --git a/geruecht/controller/databaseController/dbJobRequesController.py b/flaschengeist/system/controller/databaseController/dbJobRequesController.py similarity index 100% rename from geruecht/controller/databaseController/dbJobRequesController.py rename to flaschengeist/system/controller/databaseController/dbJobRequesController.py diff --git a/geruecht/controller/databaseController/dbPricelistController.py b/flaschengeist/system/controller/databaseController/dbPricelistController.py similarity index 100% rename from geruecht/controller/databaseController/dbPricelistController.py rename to flaschengeist/system/controller/databaseController/dbPricelistController.py diff --git a/geruecht/controller/databaseController/dbRegistrationController.py b/flaschengeist/system/controller/databaseController/dbRegistrationController.py similarity index 100% rename from geruecht/controller/databaseController/dbRegistrationController.py rename to flaschengeist/system/controller/databaseController/dbRegistrationController.py diff --git a/geruecht/controller/databaseController/dbUserController.py b/flaschengeist/system/controller/databaseController/dbUserController.py similarity index 100% rename from geruecht/controller/databaseController/dbUserController.py rename to flaschengeist/system/controller/databaseController/dbUserController.py diff --git a/geruecht/controller/databaseController/dbWorkerController.py b/flaschengeist/system/controller/databaseController/dbWorkerController.py similarity index 100% rename from geruecht/controller/databaseController/dbWorkerController.py rename to flaschengeist/system/controller/databaseController/dbWorkerController.py diff --git a/geruecht/controller/databaseController/dbWorkgroupController.py b/flaschengeist/system/controller/databaseController/dbWorkgroupController.py similarity index 100% rename from geruecht/controller/databaseController/dbWorkgroupController.py rename to flaschengeist/system/controller/databaseController/dbWorkgroupController.py diff --git a/geruecht/controller/emailController.py b/flaschengeist/system/controller/emailController.py similarity index 100% rename from geruecht/controller/emailController.py rename to flaschengeist/system/controller/emailController.py diff --git a/geruecht/controller/ldapController.py b/flaschengeist/system/controller/ldapController.py similarity index 99% rename from geruecht/controller/ldapController.py rename to flaschengeist/system/controller/ldapController.py index da3044e..e17d3e7 100644 --- a/geruecht/controller/ldapController.py +++ b/flaschengeist/system/controller/ldapController.py @@ -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() diff --git a/geruecht/controller/mainController/__init__.py b/flaschengeist/system/controller/mainController/__init__.py similarity index 100% rename from geruecht/controller/mainController/__init__.py rename to flaschengeist/system/controller/mainController/__init__.py diff --git a/geruecht/controller/mainController/mainCreditListController.py b/flaschengeist/system/controller/mainController/mainCreditListController.py similarity index 100% rename from geruecht/controller/mainController/mainCreditListController.py rename to flaschengeist/system/controller/mainController/mainCreditListController.py diff --git a/geruecht/controller/mainController/mainJobInviteController.py b/flaschengeist/system/controller/mainController/mainJobInviteController.py similarity index 100% rename from geruecht/controller/mainController/mainJobInviteController.py rename to flaschengeist/system/controller/mainController/mainJobInviteController.py diff --git a/geruecht/controller/mainController/mainJobKindController.py b/flaschengeist/system/controller/mainController/mainJobKindController.py similarity index 100% rename from geruecht/controller/mainController/mainJobKindController.py rename to flaschengeist/system/controller/mainController/mainJobKindController.py diff --git a/geruecht/controller/mainController/mainJobRequestController.py b/flaschengeist/system/controller/mainController/mainJobRequestController.py similarity index 100% rename from geruecht/controller/mainController/mainJobRequestController.py rename to flaschengeist/system/controller/mainController/mainJobRequestController.py diff --git a/geruecht/controller/mainController/mainPasswordReset.py b/flaschengeist/system/controller/mainController/mainPasswordReset.py similarity index 100% rename from geruecht/controller/mainController/mainPasswordReset.py rename to flaschengeist/system/controller/mainController/mainPasswordReset.py diff --git a/geruecht/controller/mainController/mainPricelistController.py b/flaschengeist/system/controller/mainController/mainPricelistController.py similarity index 100% rename from geruecht/controller/mainController/mainPricelistController.py rename to flaschengeist/system/controller/mainController/mainPricelistController.py diff --git a/geruecht/controller/mainController/mainRegistrationController.py b/flaschengeist/system/controller/mainController/mainRegistrationController.py similarity index 100% rename from geruecht/controller/mainController/mainRegistrationController.py rename to flaschengeist/system/controller/mainController/mainRegistrationController.py diff --git a/geruecht/controller/mainController/mainUserController.py b/flaschengeist/system/controller/mainController/mainUserController.py similarity index 100% rename from geruecht/controller/mainController/mainUserController.py rename to flaschengeist/system/controller/mainController/mainUserController.py diff --git a/geruecht/controller/mainController/mainWorkerController.py b/flaschengeist/system/controller/mainController/mainWorkerController.py similarity index 100% rename from geruecht/controller/mainController/mainWorkerController.py rename to flaschengeist/system/controller/mainController/mainWorkerController.py diff --git a/geruecht/controller/mainController/mainWorkgroupController.py b/flaschengeist/system/controller/mainController/mainWorkgroupController.py similarity index 100% rename from geruecht/controller/mainController/mainWorkgroupController.py rename to flaschengeist/system/controller/mainController/mainWorkgroupController.py diff --git a/geruecht/decorator.py b/flaschengeist/system/decorator.py similarity index 100% rename from geruecht/decorator.py rename to flaschengeist/system/decorator.py diff --git a/geruecht/exceptions/__init__.py b/flaschengeist/system/exceptions/__init__.py similarity index 100% rename from geruecht/exceptions/__init__.py rename to flaschengeist/system/exceptions/__init__.py diff --git a/geruecht/logger.py b/flaschengeist/system/logger.py similarity index 86% rename from geruecht/logger.py rename to flaschengeist/system/logger.py index 0348262..67c626f 100644 --- a/geruecht/logger.py +++ b/flaschengeist/system/logger.py @@ -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) diff --git a/flaschengeist/system/model/__init__.py b/flaschengeist/system/model/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/geruecht/model/accessToken.py b/flaschengeist/system/model/accessToken.py similarity index 98% rename from geruecht/model/accessToken.py rename to flaschengeist/system/model/accessToken.py index 6e777f7..6072378 100644 --- a/geruecht/model/accessToken.py +++ b/flaschengeist/system/model/accessToken.py @@ -1,5 +1,5 @@ from datetime import datetime -from geruecht.logger import getDebugLogger +from ..logger import getDebugLogger debug = getDebugLogger() diff --git a/flaschengeist/system/model/user.py b/flaschengeist/system/model/user.py new file mode 100644 index 0000000..157a965 --- /dev/null +++ b/flaschengeist/system/model/user.py @@ -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 diff --git a/geruecht/model/__init__.py b/geruecht/model/__init__.py deleted file mode 100644 index 065f441..0000000 --- a/geruecht/model/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -MONEY = "moneymaster" -VORSTAND = "vorstand" -EXTERN = "extern" -GASTRO = "gastro" -USER = "user" -BAR = "bar" \ No newline at end of file diff --git a/packages.txt b/packages.txt deleted file mode 100644 index c852dc5..0000000 --- a/packages.txt +++ /dev/null @@ -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 diff --git a/required.txt b/required.txt deleted file mode 100644 index 1a818f2..0000000 --- a/required.txt +++ /dev/null @@ -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 diff --git a/run.py b/run_flaschengeist similarity index 67% rename from run.py rename to run_flaschengeist index b6d40ab..ab4b3b2 100644 --- a/run.py +++ b/run_flaschengeist @@ -1,4 +1,5 @@ -from geruecht import app +#!/usr/bin/python3 +from flaschengeist.app import app """ Main diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..b142102 --- /dev/null +++ b/setup.py @@ -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' + ] + } +)