Blame view

flaskr/core.py 1.42 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
17
def generate_unique_id():
    """
    :return: a unique identifier that can be sorted chronologically.
    """
    return datetime.now().strftime('%Y-%m-%d_%H:%M:%S_') + str(uuid4())[0:4]
e0a7b516   Goutte   Try out ABC.
18
19


5e995dfe   Antoine Goutenoir   Refactor how we c...
20
21
22
23
24
25
26
27
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...
28
        model = the_module.EmissionModel(model_conf, content.shared_config)
5e995dfe   Antoine Goutenoir   Refactor how we c...
29
30
31
32
33
34
35
36
        # model.configure(extra_model_conf)

        emission_models.append(model)

    return emission_models


models = get_emission_models()
e0a7b516   Goutte   Try out ABC.
37
38


8c465c94   Antoine Goutenoir   Implement methods...
39
40
41
42
43
44
45
46
47
48
49
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...
50
        hit_count = get_hit_counter()
8c465c94   Antoine Goutenoir   Implement methods...
51
52
53
54
        hit_count += 1
    else:
        hit_count = 1

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

    return hit_count



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