Commit 96c04cbe493c88a826f0ff746a884b47228a7aaf

Authored by Quillot Mathias
1 parent 5fcaeae1e9
Exists in master

refactory of the env name. It's more about persistency data

Showing 2 changed files with 90 additions and 90 deletions Side-by-side Diff

volia/core/env.py
1   -import json
2   -
3   -"""
4   -This module aims to manage environement variables local to the application.
5   -These variables are persitent and located in a json file.
6   -"""
7   -
8   -class Env(object):
9   - """Initialize with an persistent file (json)
10   -
11   - You can access to environment variables using the brackets operators.
12   - You can also check with the 'in' operator if a key is present among
13   - the variables.
14   -
15   - example code:
16   - ```
17   - env = Env("myfile.json")
18   -
19   - if "MyVariable" in env:
20   - print(env["MyVariable"])
21   - else:
22   - env["MyVariable"] = "New value"
23   - ```
24   -
25   - """
26   - def __init__(self, file: str):
27   - self.__variables = {}
28   - self.file = file
29   - self.load()
30   -
31   - @property
32   - def variables(self):
33   - return self.__variables
34   -
35   - @property
36   - def file(self):
37   - return self.__file
38   -
39   - @file.setter
40   - def file(self, file):
41   - self.__file = file
42   -
43   -
44   - def set(self, key: str, value: str):
45   - """Modify an environment variable
46   -
47   - Args:
48   - key (str): [description]
49   - value ([type]): [description]
50   - """
51   - self.__variables[str]
52   - self.save()
53   -
54   -
55   - def get(self, key: str) -> str:
56   - """Get an environment variable.
57   -
58   - Args:
59   - key (str): [description]
60   -
61   - Returns:
62   - [str]: [description]
63   - """
64   - return self.variables[key]
65   -
66   - def __getitem__(self, key):
67   - print(key)
68   - return self.variables[key]
69   -
70   - def __setitem__(self, key, value):
71   - self.variables[key] = value
72   -
73   - def __delitem__(self, key):
74   - del self.variables[key]
75   -
76   - def __contains__(self, key):
77   - return key in self.variables
78   -
79   - def load(self):
80   - """Load the variables from the json file.
81   - """
82   - with open(self.file, "r") as f:
83   - self.__variables = json.load(f)
84   -
85   -
86   - def save(self):
87   - """Save the variables into the json file.
88   - """
89   - with open(self.file, "w") as f:
90   - json.dump(self.variables, f)
volia/core/persistency.py
  1 +import json
  2 +
  3 +"""
  4 +This module aims to manage environement variables local to the application.
  5 +These variables are persitent and located in a json file.
  6 +"""
  7 +
  8 +class PersistencyData(object):
  9 + """Initialize with an persistent file (json)
  10 +
  11 + You can access to environment variables using the brackets operators.
  12 + You can also check with the 'in' operator if a key is present among
  13 + the variables.
  14 +
  15 + example code:
  16 + ```
  17 + env = Env("myfile.json")
  18 +
  19 + if "MyVariable" in env:
  20 + print(env["MyVariable"])
  21 + else:
  22 + env["MyVariable"] = "New value"
  23 + ```
  24 +
  25 + """
  26 + def __init__(self, file: str):
  27 + self.__variables = {}
  28 + self.file = file
  29 + self.load()
  30 +
  31 + @property
  32 + def variables(self):
  33 + return self.__variables
  34 +
  35 + @property
  36 + def file(self):
  37 + return self.__file
  38 +
  39 + @file.setter
  40 + def file(self, file):
  41 + self.__file = file
  42 +
  43 +
  44 + def set(self, key: str, value: str):
  45 + """Modify an environment variable
  46 +
  47 + Args:
  48 + key (str): [description]
  49 + value ([type]): [description]
  50 + """
  51 + self.__variables[str]
  52 + self.save()
  53 +
  54 +
  55 + def get(self, key: str) -> str:
  56 + """Get an environment variable.
  57 +
  58 + Args:
  59 + key (str): [description]
  60 +
  61 + Returns:
  62 + [str]: [description]
  63 + """
  64 + return self.variables[key]
  65 +
  66 + def __getitem__(self, key):
  67 + print(key)
  68 + return self.variables[key]
  69 +
  70 + def __setitem__(self, key, value):
  71 + self.variables[key] = value
  72 +
  73 + def __delitem__(self, key):
  74 + del self.variables[key]
  75 +
  76 + def __contains__(self, key):
  77 + return key in self.variables
  78 +
  79 + def load(self):
  80 + """Load the variables from the json file.
  81 + """
  82 + with open(self.file, "r") as f:
  83 + self.__variables = json.load(f)
  84 +
  85 +
  86 + def save(self):
  87 + """Save the variables into the json file.
  88 + """
  89 + with open(self.file, "w") as f:
  90 + json.dump(self.variables, f)