Passed
Push — main ( 2ffd82...8f13d7 )
by Osma
03:09 queued 13s
created

annif.default_config   A

Complexity

Total Complexity 0

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 26
dl 0
loc 51
rs 10
c 0
b 0
f 0
wmc 0
1
#!/usr/bin/env python3
2
3
"""
4
A configuration module, where "Config" is a default configuration and the other
5
classes are different configuration profiles overriding default settings.
6
"""
7
8
import os
9
10
11
class Config(object):
12
    DEBUG = False
13
    TESTING = False
14
    PROJECTS_CONFIG_PATH = os.environ.get("ANNIF_PROJECTS", default="")
15
    DATADIR = os.environ.get("ANNIF_DATADIR", default="data")
16
    INITIALIZE_PROJECTS = False
17
    MAX_FORM_MEMORY_SIZE = 20_000_000  # Increase from Flask's default limit
18
19
20
class ProductionConfig(Config):
21
    INITIALIZE_PROJECTS = True
22
23
24
class DevelopmentConfig(Config):
25
    DEBUG = True
26
27
28
class TestingConfig(Config):
29
    TESTING = True
30
    PROJECTS_CONFIG_PATH = "tests/projects.cfg"
31
    DATADIR = "tests/data"
32
33
34
class TestingInitializeConfig(TestingConfig):
35
    INITIALIZE_PROJECTS = True
36
37
38
class TestingNoProjectsConfig(TestingConfig):
39
    PROJECTS_CONFIG_PATH = "tests/notfound.cfg"
40
41
42
class TestingInvalidProjectsConfig(TestingConfig):
43
    PROJECTS_CONFIG_PATH = "tests/projects_invalid.cfg"
44
45
46
class TestingTOMLConfig(TestingConfig):
47
    PROJECTS_CONFIG_PATH = "tests/projects.toml"
48
49
50
class TestingDirectoryConfig(TestingConfig):
51
    PROJECTS_CONFIG_PATH = "tests/projects.d"
52