Skip to content
This repository was archived by the owner on May 23, 2023. It is now read-only.

Commit 627d632

Browse files
Helper atualizado para ter novas funções compatíveis com o life-cycle;
Biblioteca de logging melhorada como novos métodos; Melhorias no boot para registrar a vendor de forma automática para o projeto poder ficar no padrão da pep8;
1 parent cbdd72e commit 627d632

File tree

13 files changed

+46
-25
lines changed

13 files changed

+46
-25
lines changed

examples/lambda_api/app.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
33
This module contains the handler method
44
"""
5+
import boot
56
import os
67
import base64
78
from lambda_app.services.v1.healthcheck import HealthCheckSchema
@@ -27,11 +28,10 @@
2728
from lambda_app.openapi import api_schemas
2829
from lambda_app.services.event_manager import EventManager
2930
from lambda_app import helper
30-
from lambda_app.boot import load_dot_env
3131

3232
# load env
3333
ENV = helper.get_environment()
34-
load_dot_env(ENV)
34+
boot.load_dot_env(ENV)
3535

3636

3737
# config

examples/lambda_api/lambda_app/boot.py renamed to examples/lambda_api/boot.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def load_env(env='dev', force=False):
138138

139139
logger = get_internal_logger()
140140

141-
global _LOADED,_ENV_KEYS
141+
global _LOADED, _ENV_KEYS
142142
if not _LOADED or force:
143143

144144
logger.info('Boot - Loading env: {}'.format(env))
@@ -208,3 +208,6 @@ def print_env(app, logger):
208208
# logger.info('Database: %s' % os.getenv('DB_HOST'))
209209
logger.info('Log Level: %s' % os.getenv('LOG_LEVEL'))
210210
logger.info('Debug: %s' % os.getenv('DEBUG'))
211+
212+
213+
register_vendor()

examples/lambda_api/lambda_app/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def to_dict(self):
3333

3434
@staticmethod
3535
def get_env_keys():
36-
from lambda_app.boot import get_env_keys
36+
from boot import get_env_keys
3737
return get_env_keys()
3838

3939

examples/lambda_api/lambda_app/helper.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import pytz
99

10-
from lambda_app.logging import get_logger
10+
from lambda_app.logging import get_logger, get_console_logger
1111

1212
TZ_AMERICA_SAO_PAULO = 'America/Sao_Paulo'
1313

@@ -64,7 +64,6 @@ def to_dict(obj, force_str=False):
6464
if force_str:
6565
return {k: str(v) for k, v in data.items() if v is not None}
6666
else:
67-
# return {k: v for k, v in data.items() if v is not None}
6867
_dict = {}
6968
for k, v in data.items():
7069
if isinstance(v, Enum):
@@ -78,7 +77,7 @@ def to_dict(obj, force_str=False):
7877

7978

8079
def to_json(obj):
81-
return json.dumps(obj, default=str)
80+
return json.dumps(obj)
8281

8382

8483
def debug_mode():
@@ -146,12 +145,19 @@ def is_https():
146145
return result
147146

148147

149-
def print_routes(app, logger):
148+
def is_count_request(app):
149+
request = app.current_request.query_params
150+
return True if request is not None and (request.get('count') == "true" or request.get('count') == "1") else False
151+
152+
153+
def print_routes(app, logger=None):
150154
"""
151155
:param logger:
152156
:param (chalice.Chalice) app:
153157
:return:
154158
"""
159+
if logger is None:
160+
logger = get_console_logger()
155161
logger.info('List of routes:')
156162

157163
if has_attr(app, 'get_routes'):

examples/lambda_api/lambda_app/logging.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,25 @@ def get_log_level():
1414
return log_level
1515

1616

17+
def get_console_logger():
18+
log_level = get_log_level()
19+
log_name = "console-{}".format(APP_NAME)
20+
log_filename = None
21+
log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
22+
logging.basicConfig(format=log_format, filename=log_filename, level=log_level)
23+
logger = logging.getLogger(log_name)
24+
return logger
25+
26+
27+
def get_stream_handler():
28+
return get_console_logger().parent.handlers[0]
29+
30+
31+
def set_debug_mode(logger, level=None):
32+
logger.addHandler(get_stream_handler())
33+
logger.level = level if level is not None else logging.INFO
34+
35+
1736
def get_logger():
1837
global _LOGGER
1938
if not _LOGGER:

examples/lambda_api/scripts/boot-lambda.sh

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ else
1818
fi
1919

2020
current_file_path_basename=$(basename -- "$current_file_path")
21-
#echo "xxxxx current_file_path_basename $current_file_path_basename"
2221

2322
if [ -z "$current_file_path_basename" ] || [ $current_file_path = "./" ]; then
2423
# echo 'aq'
@@ -49,19 +48,13 @@ echo '----------------------------------------'
4948
echo 'Installing dependencies...'
5049
echo "Requirements file: ${current_parent_folder}requirements.txt"
5150
if test -f ${current_parent_folder}requirements.txt; then
52-
# python3 -m pip install -r ${current_parent_folder}requirements.txt -t ${current_parent_folder}vendor
53-
# Lets install the dependencies direct into the venv instead vendor folder
54-
# python3 -m pip install -r ${current_parent_folder}requirements.txt -t ${current_parent_folder}
55-
# cat ${current_parent_folder}requirements.txt
51+
python3 -m pip install -r ${current_parent_folder}requirements.txt -t ${current_parent_folder}vendor
5652
echo "requirements..."
5753
fi
5854

5955
echo "Requirements file: ${current_parent_folder}requirements-vendor.txt"
6056
if test -f ${current_parent_folder}requirements-vendor.txt; then
6157
python3 -m pip install -r ${current_parent_folder}requirements-vendor.txt -t ${current_parent_folder}vendor
62-
# Lets install the dependencies direct into the venv instead vendor folder
63-
# python3 -m pip install -r ${current_parent_folder}requirements-vendor.txt -t ${current_parent_folder}
64-
# cat ${current_parent_folder}requirements-vendor.txt
6558
echo "requirements vendor..."
6659
fi
6760

examples/lambda_api/scripts/migrations/mysql/migrate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def register_paths():
3636
register_paths()
3737

3838
from lambda_app.logging import get_logger
39-
from lambda_app.boot import reset, load_dot_env, load_env
39+
from boot import reset, load_dot_env, load_env
4040
from lambda_app.config import reset as reset_config, get_config
4141
from lambda_app.database.mysql import get_connection
4242

examples/lambda_api/tests/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22
import sys
33

4-
from lambda_app.boot import load_env, set_root_dir
4+
from boot import load_env, set_root_dir
55

66
if __package__:
77
current_path = os.path.abspath(os.path.dirname(__file__)).replace('/' + str(__package__), '', 1)

examples/lambda_api/tests/component/componenttestutils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import unittest
44
import warnings
55

6-
from lambda_app.boot import reset, load_dot_env, load_env
6+
from boot import reset, load_dot_env, load_env
77
from lambda_app.config import reset as reset_config, get_config
88

99

examples/lambda_api/tests/component/test_app.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def test_index(self):
9292
event = create_aws_api_gateway_proxy_request_event('GET', '/')
9393
context = FakeLambdaContext()
9494

95-
response = serverless_wsgi.handle_request(app.app, event, context)
95+
response = serverless_wsgi.handle_request(app.APP, event, context)
9696

9797
self.assertTrue('statusCode' in response)
9898
self.assertTrue('body' in response)
@@ -109,7 +109,7 @@ def test_alive(self):
109109
event = create_aws_api_gateway_proxy_request_event('GET', '/alive')
110110
context = FakeLambdaContext()
111111

112-
response = serverless_wsgi.handle_request(app.app, event, context)
112+
response = serverless_wsgi.handle_request(app.APP, event, context)
113113

114114
self.assertTrue('statusCode' in response)
115115
self.assertTrue('body' in response)

0 commit comments

Comments
 (0)