-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenv.py
More file actions
26 lines (20 loc) · 1.62 KB
/
env.py
File metadata and controls
26 lines (20 loc) · 1.62 KB
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
import dotenv
import os
class ENV:
env = {}
@staticmethod
def load_env(custom_value=None) -> None:
dotenv.load_dotenv()
ENV.env = {'PART1_CONFIGURATION_TABLE': os.getenv('PART1_CONFIGURATION_TABLE'), 'PART1_CROSSOVER_PROBABILITY': float(os.getenv(
'PART1_CROSSOVER_PROBABILITY')), 'PART1_MUTATION_PROBABILITY': float(os.getenv('PART1_MUTATION_PROBABILITY')), 'PART1_GENERATION': int(os.getenv(
'PART1_GENERATION')), 'PART1_POPULATION': int(os.getenv('PART1_POPULATION')), 'PART1_K': int(os.getenv('PART1_K')), 'PART1_V': int(os.getenv(
'PART1_V')), 'PART2_K': int(os.getenv('PART2_K')), 'PART2_V': int(os.getenv('PART2_V')), 'PART2_CROSSOVER_PROBABILITY': float(os.getenv(
'PART2_CROSSOVER_PROBABILITY')), 'PART2_MUTATION_PROBABILITY': float(os.getenv('PART2_MUTATION_PROBABILITY')), 'PART2_GENERATION': int(os.getenv(
'PART2_GENERATION')), 'PART2_POPULATION': int(os.getenv('PART2_POPULATION')), 'PART2_T': int(os.getenv('PART2_T')), 'PART2_MUTATION_ADD_WEIGHT': int(os.getenv('PART2_MUTATION_ADD_WEIGHT')),
'PART2_MUTATION_DELETE_WEIGHT': int(os.getenv('PART2_MUTATION_DELETE_WEIGHT')), 'PART2_MUTATION_UPDATE_WEIGHT': int(os.getenv('PART2_MUTATION_UPDATE_WEIGHT')),
'PART2_MUTATION_UPDATE_DIGIT_WEIGHT': int(os.getenv('PART2_MUTATION_UPDATE_DIGIT_WEIGHT')), 'PART2_INITIAL_INDIVIDUAL_ROWS_COUNT': int(os.getenv('PART2_INITIAL_INDIVIDUAL_ROWS_COUNT'))}
if not custom_value is None:
ENV.env |= custom_value
@staticmethod
def get(key: str) -> any:
return ENV.env[key]