utg-base 1.5.5__py3-none-any.whl → 1.5.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
utg_base/env.py CHANGED
@@ -6,6 +6,10 @@ from django.conf import settings
6
6
 
7
7
  dotenv.load_dotenv(settings.BASE_DIR / '.env')
8
8
 
9
+ assert os.environ.get('VAULT_URL') is not None, ("VAULT_URL not defined, please set VAULT_URL on .env file")
10
+ assert os.environ.get('VAULT_TOKEN') is not None, ("VAULT_TOKEN not defined, please set VAULT_TOKEN on .env file")
11
+ assert os.environ.get('VAULT_PATH') is not None, ("VAULT_PATH not defined, please set VAULT_PATH on .env file")
12
+
9
13
  client = hvac.Client(
10
14
  url=os.environ.get("VAULT_URL"),
11
15
  token=os.environ.get("VAULT_TOKEN"),
@@ -14,10 +14,19 @@ class BaseServiceAPI:
14
14
  base_url: str = None
15
15
  default_response_processor: Callable[[Response], Any] = None
16
16
 
17
- def request(self, method, path, data=None, json=None, params=None, headers=None,
18
- authenticator: Callable[[dict], dict] | None = 'default',
19
- response_processor: Callable[[Response], Any] | None = 'default',
20
- **kwargs):
17
+ @classmethod
18
+ def request(
19
+ cls,
20
+ method,
21
+ path,
22
+ data=None,
23
+ json=None,
24
+ params=None,
25
+ headers=None,
26
+ authenticator: Callable[[dict], dict] | None = 'default',
27
+ response_processor: Callable[[Response], Any] | None = 'default',
28
+ **kwargs
29
+ ):
21
30
  """
22
31
  Make an HTTP request using the requests' library.
23
32
 
@@ -53,12 +62,12 @@ class BaseServiceAPI:
53
62
  if callable(authenticator):
54
63
  headers = authenticator(headers)
55
64
 
56
- if authenticator == 'default' and hasattr(self, 'authenticate') and callable(self.authenticate):
57
- headers = self.authenticate(headers)
65
+ if authenticator == 'default' and hasattr(cls, 'authenticate') and callable(cls.authenticate):
66
+ headers = cls.authenticate(headers)
58
67
 
59
68
  response = requests.request(
60
69
  method=method,
61
- url=self.base_url + path,
70
+ url=cls.base_url + path,
62
71
  data=data,
63
72
  json=json,
64
73
  params=params,
@@ -68,8 +77,8 @@ class BaseServiceAPI:
68
77
  )
69
78
 
70
79
  if response_processor == 'default':
71
- if hasattr(self, 'default_response_processor') and callable(self.default_response_processor):
72
- return self.default_response_processor(response)
80
+ if hasattr(cls, 'default_response_processor') and callable(cls.default_response_processor):
81
+ return cls.default_response_processor(response)
73
82
  return response
74
83
 
75
84
  if response_processor is not None:
@@ -77,8 +86,9 @@ class BaseServiceAPI:
77
86
 
78
87
  return response
79
88
 
80
- def call(self, method, path, data=None, json=None, params=None, headers=None):
81
- data = self.request(
89
+ @classmethod
90
+ def call(cls, method, path, data=None, json=None, params=None, headers=None):
91
+ data = cls.request(
82
92
  method=method,
83
93
  path=path,
84
94
  data=data,
@@ -88,7 +98,7 @@ class BaseServiceAPI:
88
98
  response_processor=call_processor
89
99
  )
90
100
  return {
91
- 'path': self.base_url + path,
101
+ 'path': cls.base_url + path,
92
102
  'method': method,
93
103
  'status': data['status'],
94
104
  'reason': data['reason'],
@@ -96,10 +106,11 @@ class BaseServiceAPI:
96
106
  'response': data['response'],
97
107
  }
98
108
 
99
- def authenticate(self, headers: dict) -> dict:
109
+ @classmethod
110
+ def authenticate(cls, headers: dict) -> dict:
100
111
  """
101
112
  Example authenticate method:
102
- authenticate(self, headers):
113
+ authenticate(cls, headers):
103
114
  headers['Authorization'] = 'Bearer YOUR_ACCESS_TOKEN'
104
115
  return headers
105
116
  :param headers:
@@ -107,22 +118,53 @@ class BaseServiceAPI:
107
118
  """
108
119
  return headers
109
120
 
110
- def get(self, path, data=None, json=None, params=None, headers=None,
121
+ @classmethod
122
+ def get(
123
+ cls,
124
+ path,
125
+ data=None,
126
+ json=None,
127
+ params=None,
128
+ headers=None,
111
129
  authenticator: Callable[[dict], dict] | None = 'default',
112
- response_processor: Callable[[Response], Any] | None = 'default'):
113
- return self.request('get', path, data, json, params, headers, authenticator, response_processor)
114
-
115
- def post(self, path, data=None, json=None, params=None, headers=None,
116
- authenticator: Callable[[dict], dict] | None = 'default',
117
- response_processor: Callable[[Response], Any] | None = 'default'):
118
- return self.request('post', path, data, json, params, headers, authenticator, response_processor)
119
-
120
- def put(self, path, data=None, json=None, params=None, headers=None,
130
+ response_processor: Callable[[Response], Any] | None = 'default'
131
+ ):
132
+ return cls.request('get', path, data, json, params, headers, authenticator, response_processor)
133
+
134
+ @classmethod
135
+ def post(
136
+ cls,
137
+ path,
138
+ data=None,
139
+ json=None,
140
+ params=None,
141
+ headers=None,
121
142
  authenticator: Callable[[dict], dict] | None = 'default',
122
- response_processor: Callable[[Response], Any] | None = 'default'):
123
- return self.request('put', path, data, json, params, headers, authenticator, response_processor)
124
-
125
- def patch(self, path, data=None, json=None, params=None, headers=None,
126
- authenticator: Callable[[dict], dict] | None = 'default',
127
- response_processor: Callable[[Response], Any] | None = 'default'):
128
- return self.request('patch', path, data, json, params, headers, authenticator, response_processor)
143
+ response_processor: Callable[[Response], Any] | None = 'default'
144
+ ):
145
+ return cls.request('post', path, data, json, params, headers, authenticator, response_processor)
146
+
147
+ @classmethod
148
+ def put(
149
+ cls,
150
+ path,
151
+ data=None,
152
+ json=None,
153
+ params=None,
154
+ headers=None,
155
+ authenticator: Callable[[dict], dict] | None = 'default',
156
+ response_processor: Callable[[Response], Any] | None = 'default'
157
+ ):
158
+ return cls.request('put', path, data, json, params, headers, authenticator, response_processor)
159
+
160
+ @classmethod
161
+ def patch(
162
+ cls,
163
+ path,
164
+ data=None,
165
+ json=None,
166
+ params=None, headers=None,
167
+ authenticator: Callable[[dict], dict] | None = 'default',
168
+ response_processor: Callable[[Response], Any] | None = 'default'
169
+ ):
170
+ return cls.request('patch', path, data, json, params, headers, authenticator, response_processor)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: utg-base
3
- Version: 1.5.5
3
+ Version: 1.5.6
4
4
  Summary: UTG Base Package
5
5
  Author: Rovshen
6
6
  Author-email: rovshenashirov1619@gmail.com
@@ -25,7 +25,7 @@ utg_base/celery/views/periodic_task.py,sha256=OyRJh_-KCicUZD84hksRoOXLHGk7mLF7Ql
25
25
  utg_base/celery/views/task_result.py,sha256=c9HIcohrToRfz1jfZRRZ1ri15FOasjKgMYnzKcA2X8M,726
26
26
  utg_base/constants/__init__.py,sha256=nC8qE-2V6APtjSz8j0A-3ez8yyoRpdRO8pwQnvvpRMk,53
27
27
  utg_base/constants/available_languages.py,sha256=zQh0S0PMuYUdRW_RH36llvMxbvsfbdUtotDjFeysWfQ,56
28
- utg_base/env.py,sha256=1Ljxt9clniKl_P2FKG9eoU-7lj00iLHKWDcSVd8wBD4,603
28
+ utg_base/env.py,sha256=9jRWlaifSDmss6qU2FG2aP0SHP-gPSdk14rjohuXvfM,940
29
29
  utg_base/logging.py,sha256=6mqhirIz5p1ne3av4S8j02TD5lJ4HyDKvMQsfUJ62po,4667
30
30
  utg_base/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  utg_base/middleware/locale.py,sha256=1hp_T_VuHCz0ITjwJ_F1rpf5kXQ0ulEmK1yoRWD1GRc,557
@@ -40,7 +40,7 @@ utg_base/references_api/models.py,sha256=Vjc0p2XbAPgE6HyTF6vll98A4eDhA5AvaQqsc4k
40
40
  utg_base/references_api/urls.py,sha256=WkLACQ8GfK5pJkvt8FuYdOxcqSZHj7pYRw51M9WluGw,390
41
41
  utg_base/references_api/utils.py,sha256=VzQMnGeWC0I-6BkK_9Lo9eSH6wd4C766oQ84n7SBWyc,5818
42
42
  utg_base/services/__init__.py,sha256=LqtwUiqEZPIbKRGJfve5D5m3ucV6Kw1Nbo5Jnj_hPhY,37
43
- utg_base/services/base_api.py,sha256=RBwzO6frYs2TeMKkAohUxtH9JhDTgmb9G5BFijajg68,5207
43
+ utg_base/services/base_api.py,sha256=bMTmjy8TRN4WTCgV_1RvkquoqijJQ1hP7BBtPgW_AH0,5677
44
44
  utg_base/utils/__init__.py,sha256=5XmIPVpOl9Tjtzkx_bBeZD1uCpBE-R3WX6yiJii9Ip0,101
45
45
  utg_base/utils/data.py,sha256=gbDEmEcmtaP1iCKEPG5I-q4orl8N3jvVc5eFNkkhG3c,2840
46
46
  utg_base/utils/date.py,sha256=thcbK6RgTUYZfs4_vW5ucuu2e8H0rei6tv7SEC72iwM,3612
@@ -48,6 +48,6 @@ utg_base/utils/dict_util.py,sha256=ipdCZO8aTukGQ319OWHb2Ij5MNtV-FioJQ4qCX3Th48,7
48
48
  utg_base/utils/response_processors.py,sha256=WdZQL49wOJqCIY2MucAI6sez_llCqih0v_ltQa-mv7k,687
49
49
  utg_base/utils/sql.py,sha256=rqIWcSjdjIMszdRnsnhV5TTYB8W17RPOujIQA9rKC_Y,762
50
50
  utg_base/utils/translation.py,sha256=HAUB64h0Maw82ehCoi0Yb6V6gj1Y5l5RMsv8_FMoV2U,456
51
- utg_base-1.5.5.dist-info/METADATA,sha256=iPArk9mbNsW7Np4bJRnuaF8QrDu6AI4eyccWBQWl4XA,874
52
- utg_base-1.5.5.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
53
- utg_base-1.5.5.dist-info/RECORD,,
51
+ utg_base-1.5.6.dist-info/METADATA,sha256=CNyLpt8bCXwTpYEtIJatJjVOhs8tbe1Z5Xl1CDRLKzY,874
52
+ utg_base-1.5.6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
53
+ utg_base-1.5.6.dist-info/RECORD,,