Blame view

flaskr/core.py 1.44 KB
e0a7b516   Goutte   Try out ABC.
1
import abc
5e995dfe   Antoine Goutenoir   Refactor how we c...
2
import importlib
8c465c94   Antoine Goutenoir   Implement methods...
3
from os.path import isfile
984b691d   Goutte   Add the core libr...
4
5
6
from datetime import datetime
from uuid import uuid4

5e995dfe   Antoine Goutenoir   Refactor how we c...
7
8
from .content import content

984b691d   Goutte   Add the core libr...
9

42d762f7   Antoine Goutenoir   Fix the visits co...
10
hit_count_path = "VISITS"
8c465c94   Antoine Goutenoir   Implement methods...
11
12


984b691d   Goutte   Add the core libr...
13
14
15
16
def generate_unique_id():
    """
    :return: a unique identifier that can be sorted chronologically.
    """
2bdcd05b   Antoine Goutenoir   Set unique id as ...
17
18
19
    return u"%s" % (
            datetime.now().strftime('%Y-%m-%d_%H:%M:%S_') + str(uuid4())[0:4]
    )
e0a7b516   Goutte   Try out ABC.
20
21


5e995dfe   Antoine Goutenoir   Refactor how we c...
22
23
24
25
26
27
28
29
def get_emission_models():
    emission_models_confs = content.models
    emission_models = []

    for model_conf in emission_models_confs:
        model_file = model_conf.file
        the_module = importlib.import_module("flaskr.laws.%s" % model_file)

a03065f3   Antoine Goutenoir   Squeeze in anothe...
30
        model = the_module.EmissionModel(model_conf, content.shared_config)
5e995dfe   Antoine Goutenoir   Refactor how we c...
31
32
33
34
35
36
37
38
        # model.configure(extra_model_conf)

        emission_models.append(model)

    return emission_models


models = get_emission_models()
e0a7b516   Goutte   Try out ABC.
39
40


8c465c94   Antoine Goutenoir   Implement methods...
41
42
43
44
45
46
47
48
49
50
51
def get_hit_counter():
    hit_count = 1
    if isfile(hit_count_path):
        with open(hit_count_path) as hcf:
            hit_count = int(hcf.read().strip())

    return hit_count


def increment_hit_counter():
    if isfile(hit_count_path):
a03065f3   Antoine Goutenoir   Squeeze in anothe...
52
        hit_count = get_hit_counter()
8c465c94   Antoine Goutenoir   Implement methods...
53
54
55
56
        hit_count += 1
    else:
        hit_count = 1

a03065f3   Antoine Goutenoir   Squeeze in anothe...
57
58
    with open(hit_count_path, 'w') as hcf:
        hcf.write(str(hit_count))
8c465c94   Antoine Goutenoir   Implement methods...
59
60
61
62
63
64
65
66
67
68

    return hit_count



# # unused
# class FootprintEstimatorDriver(abc.ABCMeta):
#     @abc.abstractmethod
#     def get_travel_footprint(self, from_location, to_location):  # TBD
#         pass