Completed
Push — master ( 2b1567...aa9a3d )
by Daniel
08:37
created

GwWebFlask.activate()   A

Complexity

Conditions 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 0
loc 5
rs 9.4285
1
from flask import Flask
2
from groundwork.patterns import GwCommandsPattern
3
4
from groundwork_web.patterns import GwWebPattern
5
6
7
class GwWebFlask(GwWebPattern, GwCommandsPattern):
8
    def __init__(self, *args, **kwargs):
9
        self.name = self.__class__.__name__
10
        super().__init__(*args, **kwargs)
11
        self.flask_app = None
12
13
    def activate(self):
14
        self.flask_app = Flask(__name__)
15
        self.web.providers.register("flask", self.flask_app, "Flask web provider")
16
17
        self.commands.register("webserver", "starts the flask debug server", self.__start_server)
18
19
    def deactivate(self):
20
        self.commands.unregister("webserver")
21
        self.flask_app = None
22
23
    def __start_server(self):
24
        self.flask_app.run()
25