aboutsummaryrefslogtreecommitdiff
path: root/var.py
blob: e4446294a9311bdedc20c265f1a5cd4bdf5aee46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import configparser
import logging
import os
from colorlog import ColoredFormatter


log_level = logging.DEBUG
log_format = "%(log_color)s%(levelname)-8s%(reset)s  %(log_color)s%(message)s%(reset)s"

logging.root.setLevel(log_level)
formatter = ColoredFormatter(log_format)

stream = logging.StreamHandler()
stream.setLevel(log_level)
stream.setFormatter(formatter)

LOG = logging.getLogger("pythonConfig")
LOG.setLevel(log_level)
LOG.addHandler(stream)


# If the app is running in Docker
if "BASE_URL" in os.environ or "IP_TO_LOCATION" in os.environ:
    BASE_URL = os.environ["BASE_URL"]
    IP_TO_LOCATION = (
        True if os.environ["IP_TO_LOCATION"].upper() in ["TRUE", "T"] else False
    )
    if IP_TO_LOCATION:
        API_KEY = os.environ["API_KEY"]
    else:
        API_KEY = None

# Otherwise, the app is running on bare metal
try:
    with open("config.ini", "r") as f:
        config = configparser.ConfigParser()
        config.read_string(f.read())

        BASE_URL = config["CONFIG"]["BASE_URL"]
        IP_TO_LOCATION = (
            True
            if config["CONFIG"]["IP_TO_LOCATION"].upper() in ["TRUE", "T"]
            else False
        )
        if IP_TO_LOCATION:
            API_KEY = config["CONFIG"]["API_KEY"]
        else:
            API_KEY = None
except FileNotFoundError:
    config = configparser.ConfigParser()
    config["CONFIG"] = {"BASE_URL": "", "IP_TO_LOCATION": "", "API_KEY": ""}

    with open("config.ini", "w") as configfile:
        config.write(configfile)

    LOG.error(
        "`config.ini` has been created. Fill out the necessary information then re-run."
    )
    exit()