Skip to content

Commit 734891e

Browse files
committed
some architectural changes
+ open/close way to process controllers
1 parent d9091c2 commit 734891e

24 files changed

+272
-736
lines changed

.idea/workspace.xml

Lines changed: 193 additions & 670 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
from common.config import config, getDate, getTime
22
from common.controller import Controller
3+
from common.report import Report
4+
from common.reportViewer import Viewer
35
from controllers.container import Container
6+
from controllers.reportController import ReportController
47
from controllers.static import Static
58
from controllers.system import System
69
from models.models import Session
@@ -44,12 +47,6 @@ def __init__(self, reuqest):
4447
self.authentication = AuthControler(self)
4548
pass
4649

47-
def RenderFile(self, filename):
48-
file = open(config.server_path + "/templates/" + filename, 'r')
49-
outp = file.read()
50-
self.output += outp
51-
pass
52-
5350
def Route(self):
5451
path = self.request.path
5552
parsed_path = urlparse(path)
@@ -63,14 +60,18 @@ def Route(self):
6360
section = spath[1]
6461
mdl = Container()
6562

66-
67-
6863
if (section == ''):
6964
mdl = Container()
7065
elif (section == 'static'):
7166
mdl = Static()
7267
elif (section == 'system'):
7368
mdl = System()
69+
elif(section=='report'):
70+
mdl = Report()
71+
elif(section=='viewer'):
72+
mld=Viewer()
73+
elif (section=='template'):
74+
mdl = ReportController()
7475
elif (self.authentication.Authenticated):
7576
mdl = Controller.controllers[section]
7677

@@ -124,11 +125,6 @@ def ProcessRequeset(req):
124125

125126
req.wfile.write(fout)
126127

127-
def loadControllers():
128-
__import__('controllers')
129-
pass
130-
131-
132128

133129
if __name__ == '__main__':
134130

@@ -139,8 +135,6 @@ def loadControllers():
139135
HOST = os.getenv('HOST', 'localhost')
140136
httpd = HTTPServer((HOST, PORT), RequestHandler)
141137

142-
loadControllers()
143-
144138

145139
# config.makeTempLang(Menu.select())
146140
# DbSetup().SetupDataBase()

common/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
from controllers.reports.sale import SaleReport
2+

common/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class config:
1616
server_path = os.path.dirname(os.path.realpath(__file__ + "/..") )
1717
lang_name = os.getenv('APP_LANG', 'fa')
1818
app_lang = [lang_name]
19-
app_locale = os.getenv('APP_LOCALE', 'en_US')
19+
app_locale = os.getenv('APP_LOCALE', 'en_US.utf8')
2020
app_db_user = 'root';
2121
app_db_pass = '';
2222

common/report.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from common.config import config
22
from common.controller import Controller
33

4-
54
class Report(Controller):
65
report = None
76
headers = None

common/reportName.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from common.report import Report
2+
3+
4+
def ReportName(name):
5+
def wrapper(type):
6+
print("Report %s registered by %s" % (name,type))
7+
Report.registerReport(name,type)
8+
pass
9+
10+
return wrapper

common/reportViewer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from common.controller import Controller
2-
2+
from common.route import Route
33

44
class Viewer(Controller):
55

common/route.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from common.controller import Controller
2+
3+
4+
def Route(name):
5+
def wrapper(type):
6+
print("Route %s registered by %s" % (name,type))
7+
Controller.registerController(name,type)
8+
pass
9+
10+
return wrapper

controllers/__init__.py

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,25 @@
1+
# IoC
12
from common.controller import Controller
23
from common.report import Report
3-
from common.reportViewer import Viewer
4-
from controllers.authentication import Authentication
5-
from controllers.basicInfo import BasicInfo
6-
from controllers.confirm import Confirm
7-
from controllers.costs import Costs
8-
from controllers.dashboard import Dashboard
9-
from controllers.reportController import ReportController
10-
from controllers.sales import Sales
11-
from controllers.testDev import TestDev
12-
from common.report import Report
13-
from controllers.reports.cost import CostReport
14-
from controllers.reports.installment import InstallmentReport
15-
from controllers.reports.order import OrderReport
16-
from controllers.reports.sale import SaleReport
17-
from controllers.reports.saleList import SaleListReport
18-
from controllers.reports.storage import StorageReport
19-
20-
21-
Controller.registerController('auth',Authentication)
22-
Controller.registerController('info',BasicInfo)
23-
Controller.registerController('confirm',Confirm)
24-
Controller.registerController('sale',Sales)
25-
Controller.registerController('test',TestDev)
26-
Controller.registerController('costs',Costs)
27-
Controller.registerController('dashboard',Dashboard)
28-
29-
Controller.registerController('viewer',Viewer)
30-
Controller.registerController('report',Report)
31-
Controller.registerController('template',ReportController)
324

5+
print("Registering controllers started:\n")
6+
import controllers.basicInfo
7+
import controllers.authentication
8+
import controllers.confirm
9+
import controllers.container
10+
import controllers.costs
11+
import controllers.dashboard
12+
import controllers.purchase
13+
import controllers.sales
14+
import controllers.system
15+
import controllers.testDev
3316

17+
print("\n\nRegistering reports started:\n")
18+
import controllers.reports.cost
19+
import controllers.reports.installment
20+
import controllers.reports.order
21+
import controllers.reports.sale
22+
import controllers.reports.saleList
23+
import controllers.reports.storage
3424

35-
Report.registerReport('cost',CostReport)
36-
Report.registerReport('instullment',InstallmentReport)
37-
Report.registerReport('order',OrderReport)
38-
Report.registerReport('sale',SaleReport)
39-
Report.registerReport('sale-list',SaleListReport)
40-
Report.registerReport('storage',StorageReport)
25+
print("\n\n")

controllers/authentication.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
from common.config import config
22
from common.controller import Controller
3+
from common.route import Route
34
from models.models import User
45

56

7+
@Route("auth")
68
class Authentication(Controller):
79
'''
810
classdocs

0 commit comments

Comments
 (0)