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

GwWebFlask   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 18
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __start_server() 0 2 1
A deactivate() 0 3 1
A activate() 0 5 1
A __init__() 0 4 1
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