python-sdk-remote 0.0.130__tar.gz → 0.0.131__tar.gz
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.
Potentially problematic release.
This version of python-sdk-remote might be problematic. Click here for more details.
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/PKG-INFO +1 -1
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/http_response.py +3 -2
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/utilities.py +5 -34
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/PKG-INFO +1 -1
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/setup.py +1 -1
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/README.md +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/pyproject.toml +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/__init__.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/constants.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/item.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/mini_logger.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/our_object.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/temp.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/unified_json.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/valid_json_versions.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/validate_environment.py +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/SOURCES.txt +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/dependency_links.txt +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/requires.txt +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/top_level.txt +0 -0
- {python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/setup.cfg +0 -0
{python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/http_response.py
RENAMED
|
@@ -80,6 +80,7 @@ def handler_decorator(logger):
|
|
|
80
80
|
|
|
81
81
|
# TODO: should we auto detect user_jwt if not provided?
|
|
82
82
|
def create_authorization_http_headers(user_jwt: str) -> dict:
|
|
83
|
+
# Not deprecated - we need it in remote packages
|
|
83
84
|
logger.start(object={"user_jwt": user_jwt})
|
|
84
85
|
# TODO check the validity of user_jwt and it is not None and raise exception, please do the same in all other functions.
|
|
85
86
|
authorization_http_headers = {
|
|
@@ -117,8 +118,8 @@ def create_error_http_response(exception: Exception, status_code: HTTPStatus = H
|
|
|
117
118
|
error_http_response = {
|
|
118
119
|
"statusCode": status_code.value,
|
|
119
120
|
"headers": create_return_http_headers(),
|
|
120
|
-
"body": create_http_body({"error": str(exception)
|
|
121
|
-
|
|
121
|
+
"body": create_http_body({"error": str(exception),
|
|
122
|
+
"traceback": traceback.format_exc()}),
|
|
122
123
|
}
|
|
123
124
|
logger.end(object={"error_http_response": error_http_response})
|
|
124
125
|
return error_http_response
|
|
@@ -288,11 +288,11 @@ def is_datetime_in_datetime_range(check_datetime: datetime, datetime_range: (dat
|
|
|
288
288
|
|
|
289
289
|
|
|
290
290
|
def get_brand_name() -> str:
|
|
291
|
-
return our_get_env("BRAND_NAME")
|
|
291
|
+
return our_get_env("BRAND_NAME", raise_if_empty=True)
|
|
292
292
|
|
|
293
293
|
|
|
294
294
|
def get_environment_name() -> str:
|
|
295
|
-
environment_name = our_get_env("ENVIRONMENT_NAME")
|
|
295
|
+
environment_name = our_get_env("ENVIRONMENT_NAME", raise_if_empty=True)
|
|
296
296
|
EnvironmentName(environment_name) # if invalid, raises ValueError: x is not a valid EnvironmentName
|
|
297
297
|
return environment_name
|
|
298
298
|
|
|
@@ -311,15 +311,15 @@ def our_get_env(key: str, default: str = None, raise_if_not_found: bool = True,
|
|
|
311
311
|
|
|
312
312
|
# TODO As only the database package uses those, let's move those three to the database package
|
|
313
313
|
def get_sql_hostname() -> str:
|
|
314
|
-
return our_get_env("RDS_HOSTNAME")
|
|
314
|
+
return our_get_env("RDS_HOSTNAME", raise_if_empty=True)
|
|
315
315
|
|
|
316
316
|
|
|
317
317
|
def get_sql_username() -> str:
|
|
318
|
-
return our_get_env("RDS_USERNAME")
|
|
318
|
+
return our_get_env("RDS_USERNAME", raise_if_empty=True)
|
|
319
319
|
|
|
320
320
|
|
|
321
321
|
def get_sql_password() -> str:
|
|
322
|
-
return our_get_env("RDS_PASSWORD")
|
|
322
|
+
return our_get_env("RDS_PASSWORD", raise_if_empty=True)
|
|
323
323
|
|
|
324
324
|
|
|
325
325
|
def get_dialog_jwt_secret_key() -> str:
|
|
@@ -343,35 +343,6 @@ def decode_jwt(token: str, key: str) -> dict:
|
|
|
343
343
|
"""key can be private / public"""
|
|
344
344
|
return jwt.decode(token, key, algorithms=['HS256'])
|
|
345
345
|
|
|
346
|
-
|
|
347
|
-
def obfuscate_log_dict(log_dict: dict) -> dict:
|
|
348
|
-
"""
|
|
349
|
-
Obfuscate keys:
|
|
350
|
-
- %password%
|
|
351
|
-
- %secret%
|
|
352
|
-
- %token%
|
|
353
|
-
- %jwt%
|
|
354
|
-
- %e%mail%
|
|
355
|
-
- %phone%
|
|
356
|
-
- %name% (first / last / nick / user etc.)
|
|
357
|
-
- %address%
|
|
358
|
-
- %ssn%
|
|
359
|
-
"""
|
|
360
|
-
environment_name = get_environment_name()
|
|
361
|
-
if environment_name == EnvironmentName.PLAY1.value:
|
|
362
|
-
return log_dict
|
|
363
|
-
obfuscated_log_dict = {}
|
|
364
|
-
for key, value in log_dict.items():
|
|
365
|
-
if isinstance(value, dict):
|
|
366
|
-
obfuscated_log_dict[key] = obfuscate_log_dict(value)
|
|
367
|
-
elif re.search(r'password|secret|token|jwt|e[\-_]?mail|phone|name|address|ssn', key, re.IGNORECASE):
|
|
368
|
-
# TODO Maybe we can reveal a small part
|
|
369
|
-
obfuscated_log_dict[key] = "***"
|
|
370
|
-
else:
|
|
371
|
-
obfuscated_log_dict[key] = value
|
|
372
|
-
return obfuscated_log_dict
|
|
373
|
-
|
|
374
|
-
|
|
375
346
|
# TODO: add tests to the following functions
|
|
376
347
|
|
|
377
348
|
def remove_digits(text: str) -> str:
|
|
@@ -7,7 +7,7 @@ package_dir = PACKAGE_NAME.replace("-", "_")
|
|
|
7
7
|
# python -m build needs pyproject.toml or setup.py
|
|
8
8
|
setuptools.setup(
|
|
9
9
|
name=PACKAGE_NAME,
|
|
10
|
-
version='0.0.
|
|
10
|
+
version='0.0.131', # https://pypi.org/project/python-sdk-remote/
|
|
11
11
|
author="Circles",
|
|
12
12
|
author_email="info@circlez.ai",
|
|
13
13
|
description="PyPI Package for Circles Python SDK Local Python",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/mini_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/unified_json.py
RENAMED
|
File without changes
|
{python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote/src/valid_json_versions.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/requires.txt
RENAMED
|
File without changes
|
{python_sdk_remote-0.0.130 → python_sdk_remote-0.0.131}/python_sdk_remote.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|