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

Commit 87df370

Browse files
Ajustes gerais para compatibilidade com pep8;
Melhorias em scripts para deixar mais dinamica a leitura de diretórios do projeto (./scripts/variaveis); Melhorias para evitar o uso da pasta vendor durante o desenvolvimento;
1 parent 28a0c92 commit 87df370

File tree

20 files changed

+189
-81
lines changed

20 files changed

+189
-81
lines changed

examples/lambda_api/.pep8

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[pycodestyle]
2+
max_line_length = 120
3+
ignore = E501

examples/lambda_api/app.py

Lines changed: 78 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
1-
import base64
2-
import os
3-
from lambda_app.boot import load_dot_env,register_vendor
4-
register_vendor()
5-
6-
from lambda_app import helper
7-
8-
env = helper.get_environment()
9-
load_dot_env(env)
1+
"""This is the main file of the lambda application
102
3+
This module contains the handler method
4+
"""
5+
import os
6+
import base64
117
from lambda_app.services.v1.healthcheck import HealthCheckSchema
12-
from lambda_app.services.v1.healthcheck.resources import MysqlConnectionHealthCheck, RedisConnectionHealthCheck, \
8+
from lambda_app.services.v1.healthcheck.resources import \
9+
MysqlConnectionHealthCheck, RedisConnectionHealthCheck, \
1310
SQSConnectionHealthCheck, SelfConnectionHealthCheck
1411
from lambda_app.services.v1.healthcheck_service import HealthCheckService
1512
from lambda_app.config import get_config
@@ -22,39 +19,52 @@
2219
from lambda_app.services.v1.ocoren_event_service import OcorenEventService
2320
from lambda_app.vos.events import EventVO
2421
from lambda_app.logging import get_logger
25-
from lambda_app import APP_NAME, APP_VERSION, http_helper, helper
22+
from lambda_app import APP_NAME, APP_VERSION, http_helper
2623
from lambda_app.helper import open_vendor_file, print_routes
2724
from lambda_app.http_helper import CUSTOM_DEFAULT_HEADERS
2825
from lambda_app.lambda_flask import LambdaFlask
2926
from lambda_app.openapi import spec, get_doc, generate_openapi_yml
3027
from lambda_app.openapi import api_schemas
3128
from lambda_app.services.event_manager import EventManager
29+
from lambda_app import helper
30+
from lambda_app.boot import load_dot_env
31+
32+
# load env
33+
ENV = helper.get_environment()
34+
load_dot_env(ENV)
35+
3236

3337
# config
34-
config = get_config()
38+
CONFIG = get_config()
3539
# debug
36-
debug = helper.debug_mode()
40+
DEBUG = helper.debug_mode()
3741
# logger
38-
logger = get_logger()
42+
LOGGER = get_logger()
3943

40-
app = LambdaFlask(__name__)
44+
APP = LambdaFlask(__name__)
4145

4246

43-
@app.route('/')
47+
@APP.route('/')
4448
def index():
49+
"""
50+
API Root path
51+
:return:
52+
:rtype: str
53+
"""
4554
body = {"app": '%s:%s' % (APP_NAME, APP_VERSION)}
4655
return http_helper.create_response(body=body, status_code=200)
4756

4857

4958
# general vars
50-
APP_QUEUE = config.APP_QUEUE
59+
APP_QUEUE = CONFIG.APP_QUEUE
5160

5261

53-
@app.route('/alive')
62+
@APP.route('/alive')
5463
def alive():
5564
"""
56-
65+
Health check path
5766
:return:
67+
:rtype: str
5868
5969
---
6070
@@ -68,42 +78,58 @@ def alive():
6878
schema: HealthCheckSchema
6979
"""
7080
service = HealthCheckService()
71-
service.add_check("self", SelfConnectionHealthCheck(logger, config), [])
72-
service.add_check("mysql", MysqlConnectionHealthCheck(logger, config), ["db"])
73-
service.add_check("redis", RedisConnectionHealthCheck(logger, config), ["redis"])
74-
service.add_check("queue", SQSConnectionHealthCheck(logger, config), ["queue"])
81+
service.add_check("self", SelfConnectionHealthCheck(LOGGER, CONFIG), [])
82+
service.add_check(
83+
"mysql", MysqlConnectionHealthCheck(LOGGER, CONFIG), ["db"])
84+
service.add_check("redis", RedisConnectionHealthCheck(
85+
LOGGER, CONFIG), ["redis"])
86+
service.add_check("queue", SQSConnectionHealthCheck(
87+
LOGGER, CONFIG), ["queue"])
7588

7689
return service.get_response()
7790

7891

79-
@app.route('/favicon-32x32.png')
92+
@APP.route('/favicon-32x32.png')
8093
def favicon():
8194
headers = CUSTOM_DEFAULT_HEADERS.copy()
8295
headers['Content-Type'] = "image/png"
8396
data = base64.b64decode(
84-
'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAkFBMVEUAAAAQM0QWNUYWNkYXNkYALjoWNUYYOEUXN0YaPEUPMUAUM0QVNUYWNkYWNUYWNUUWNUYVNEYWNkYWNUYWM0eF6i0XNkchR0OB5SwzZj9wyTEvXkA3az5apTZ+4C5DgDt31C9frjU5bz5uxTI/eDxzzjAmT0IsWUEeQkVltzR62S6D6CxIhzpKijpJiDpOkDl4b43lAAAAFXRSTlMAFc304QeZ/vj+ECB3xKlGilPXvS2Ka/h0AAABfklEQVR42oVT2XaCMBAdJRAi7pYJa2QHxbb//3ctSSAUPfa+THLmzj4DBvZpvyauS9b7kw3PWDkWsrD6fFQhQ9dZLfVbC5M88CWCPERr+8fLZodJ5M8QJbjbGL1H2M1fIGfEm+wJN+bGCSc6EXtNS/8FSrq2VX6YDv++XLpJ8SgDWMnwqznGo6alcTbIxB2CHKn8VFikk2mMV2lEnV+CJd9+jJlxXmMr5dW14YCqwgbFpO8FNvJxwwM4TPWPo5QalEsRMAcusXpi58/QUEWPL0AK1ThM5oQCUyXPoPINkdd922VBw4XgTV9zDGWWFrgjIQs4vwvOg6xr+6gbCTqE+DYhlMGX0CF2OknK5gQ2JrkDh/W6TOEbYDeVecKbJtyNXiCfGmW7V93J2hDus1bDfhxWbIZVYDXITA7Lo6E0Ktgg9eB4KWuR44aj7ppBVPazhQH7/M/KgWe9X1qAg8XypT6nxIMJH+T94QCsLvj29IYwZxyO9/F8vCbO9tX5/wDGjEZ7vrgFZwAAAABJRU5ErkJggg==')
85-
return http_helper.create_response(body=data, status_code=200, headers=headers)
86-
87-
88-
@app.route('/docs')
97+
'iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAkFBMVEUAAAAQM0QWNUYWNkYXNkYALjo'
98+
'WNUYYOEUXN0YaPEUPMUAUM0QVNUYWNkYWNUYWNUUWNUYVNEYWNkYWNUYWM0eF6i0XNkchR0OB5SwzZj'
99+
'9wyTEvXkA3az5apTZ+4C5DgDt31C9frjU5bz5uxTI/eDxzzjAmT0IsWUEeQkVltzR62S6D6CxIhzpKi'
100+
'jpJiDpOkDl4b43lAAAAFXRSTlMAFc304QeZ/vj+ECB3xKlGilPXvS2Ka/h0AAABfklEQVR42oVT2XaC'
101+
'MBAdJRAi7pYJa2QHxbb//3ctSSAUPfa+THLmzj4DBvZpvyauS9b7kw3PWDkWsrD6fFQhQ9dZLfVbC5M'
102+
'88CWCPERr+8fLZodJ5M8QJbjbGL1H2M1fIGfEm+wJN+bGCSc6EXtNS/8FSrq2VX6YDv++XLpJ8SgDWM'
103+
'nwqznGo6alcTbIxB2CHKn8VFikk2mMV2lEnV+CJd9+jJlxXmMr5dW14YCqwgbFpO8FNvJxwwM4TPWPo'
104+
'5QalEsRMAcusXpi58/QUEWPL0AK1ThM5oQCUyXPoPINkdd922VBw4XgTV9zDGWWFrgjIQs4vwvOg6xr'
105+
'+6gbCTqE+DYhlMGX0CF2OknK5gQ2JrkDh/W6TOEbYDeVecKbJtyNXiCfGmW7V93J2hDus1bDfhxWbIZ'
106+
'VYDXITA7Lo6E0Ktgg9eB4KWuR44aj7ppBVPazhQH7/M/KgWe9X1qAg8XypT6nxIMJH+T94QCsLvj29I'
107+
'YwZxyO9/F8vCbO9tX5/wDGjEZ7vrgFZwAAAABJRU5ErkJggg==')
108+
return http_helper.create_response(
109+
body=data, status_code=200, headers=headers)
110+
111+
112+
@APP.route('/docs')
89113
def docs():
90114
headers = CUSTOM_DEFAULT_HEADERS.copy()
91115
headers['Content-Type'] = "text/html"
92116
html_file = open_vendor_file('./public/swagger/index.html', 'r')
93117
html = html_file.read()
94-
return http_helper.create_response(body=html, status_code=200, headers=headers)
118+
return http_helper.create_response(
119+
body=html, status_code=200, headers=headers)
95120

96121

97-
@app.route('/openapi.yml')
122+
@APP.route('/openapi.yml')
98123
def openapi():
99124
headers = CUSTOM_DEFAULT_HEADERS.copy()
100125
headers['Content-Type'] = "text/yaml"
101126
html_file = open_vendor_file('./public/swagger/openapi.yml', 'r')
102127
html = html_file.read()
103-
return http_helper.create_response(body=html, status_code=200, headers=headers)
128+
return http_helper.create_response(
129+
body=html, status_code=200, headers=headers)
104130

105131

106-
@app.route('/v1/event/<event_type>', methods=['POST'])
132+
@APP.route('/v1/event/<event_type>', methods=['POST'])
107133
def event_create(event_type):
108134
"""
109135
:param event_type:
@@ -135,18 +161,19 @@ def event_create(event_type):
135161
application/json:
136162
schema: EventCreateErrorResponseSchema
137163
"""
138-
request = ApiRequest().parse_request(app)
139-
logger.info('event_type: {}'.format(event_type))
140-
logger.info('request: {}'.format(request))
164+
request = ApiRequest().parse_request(APP)
165+
LOGGER.info('event_type: {}'.format(event_type))
166+
LOGGER.info('request: {}'.format(request))
141167

142-
event_tracker = EventTracker(logger)
168+
event_tracker = EventTracker(LOGGER)
143169

144170
status_code = 200
145171
response = ApiResponse(request)
146172
response.set_hateos(False)
147173
try:
148174
# event_type validation
149-
if EventType.from_value(event_type) not in EventType.get_public_events():
175+
if EventType.from_value(
176+
event_type) not in EventType.get_public_events():
150177
exception = ApiException(MessagesEnum.EVENT_TYPE_UNKNOWN_ERROR)
151178
exception.set_message_params([event_type])
152179
raise exception
@@ -157,7 +184,7 @@ def event_create(event_type):
157184
# else:
158185
# event_service = ProductEventService()
159186
event_service = OcorenEventService()
160-
service = EventManager(logger=logger, event_service=event_service)
187+
service = EventManager(logger=LOGGER, event_service=event_service)
161188
result = service.process(event_vo)
162189
event_hash = event_vo.hash
163190

@@ -174,7 +201,7 @@ def event_create(event_type):
174201
else:
175202
raise ApiException(MessagesEnum.INTERNAL_SERVER_ERROR)
176203
except Exception as err:
177-
logger.error(err)
204+
LOGGER.error(err)
178205
result = False
179206
event_hash = None
180207
if isinstance(err, ApiException):
@@ -204,7 +231,7 @@ def event_create(event_type):
204231
return response.get_response(status_code)
205232

206233

207-
@app.route('/v1/event/<event_type>', methods=['GET'])
234+
@APP.route('/v1/event/<event_type>', methods=['GET'])
208235
def event_list(event_type):
209236
"""
210237
:param event_type:
@@ -230,9 +257,9 @@ def event_list(event_type):
230257
application/json:
231258
schema: EventListErrorResponseSchema
232259
"""
233-
request = ApiRequest().parse_request(app)
234-
logger.info('event_type: {}'.format(event_type))
235-
logger.info('request: {}'.format(request))
260+
request = ApiRequest().parse_request(APP)
261+
LOGGER.info('event_type: {}'.format(event_type))
262+
LOGGER.info('request: {}'.format(request))
236263

237264
# event_tracker = EventTracker(logger)
238265
#
@@ -293,7 +320,6 @@ def event_list(event_type):
293320
# "params": params
294321
# }
295322

296-
297323
data = {}
298324

299325
response.set_data(data)
@@ -305,11 +331,13 @@ def event_list(event_type):
305331

306332
# doc
307333
spec.path(view=alive, path="/alive", operations=get_doc(alive))
308-
spec.path(view=event_list, path="/v1/event/{event_type}", operations=get_doc(event_list))
309-
spec.path(view=event_create, path="/v1/event/{event_type}", operations=get_doc(event_create))
334+
spec.path(view=event_list,
335+
path="/v1/event/{event_type}", operations=get_doc(event_list))
336+
spec.path(view=event_create,
337+
path="/v1/event/{event_type}", operations=get_doc(event_create))
310338

311-
print_routes(app, logger)
312-
logger.info('Running at {}'.format(os.environ['APP_ENV']))
339+
print_routes(APP, LOGGER)
340+
LOGGER.info('Running at {}'.format(os.environ['APP_ENV']))
313341

314342
# generate de openapi.yml
315-
generate_openapi_yml(spec, logger, force=True)
343+
generate_openapi_yml(spec, LOGGER, force=True)

examples/lambda_api/lambda_app/openapi/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,19 @@
77
from lambda_app import APP_NAME, APP_VERSION
88
# Create an APISpec
99
from lambda_app.config import get_config
10-
from lambda_app.helper import open_vendor_file
10+
from lambda_app.helper import open_vendor_file, get_environment
1111
from lambda_app.logging import get_logger
1212

13+
env = get_environment()
14+
1315
servers = [
1416
{
1517
"url": os.environ["API_SERVER"] if "API_SERVER" in os.environ else None,
1618
"description": os.environ["API_SERVER_DESCRIPTION"] if "API_SERVER_DESCRIPTION" in os.environ else None
1719
}
1820
]
1921

20-
if get_config().APP_ENV == "development":
22+
if env == "development":
2123
servers.append({
2224
"url": os.environ["LOCAL_API_SERVER"] if "LOCAL_API_SERVER" in os.environ else "http://localhost:5000",
2325
"description": os.environ["LOCAL_API_SERVER_DESCRIPTION"] \

examples/lambda_api/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ pyyaml
99
apispec
1010
marshmallow
1111
pylint
12+
autopep8
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
if [ -z "$1" ]; then
2+
autopep8 --in-place --recursive --aggressive
3+
else
4+
autopep8 --global-config .pep8 --in-place --aggressive --verbose $1
5+
fi

examples/lambda_api/scripts/boot-lambda.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,18 @@ echo '----------------------------------------'
4949
echo 'Installing dependencies...'
5050
echo "Requirements file: ${current_parent_folder}requirements.txt"
5151
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
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}
5355
# cat ${current_parent_folder}requirements.txt
5456
echo "requirements..."
5557
fi
5658

5759
echo "Requirements file: ${current_parent_folder}requirements-vendor.txt"
5860
if test -f ${current_parent_folder}requirements-vendor.txt; then
5961
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}
6064
# cat ${current_parent_folder}requirements-vendor.txt
6165
echo "requirements vendor..."
6266
fi

examples/lambda_api/scripts/install.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,7 @@ if test -f "requirements.txt"; then
33
fi
44

55
if test -f "requirements-vendor.txt"; then
6-
python3 -m pip install -r requirements-vendor.txt -t ./vendor
6+
# python3 -m pip install -r requirements-vendor.txt -t ./vendor
7+
# Lets install the dependencies direct into the venv instead vendor folder
8+
python3 -m pip install -r requirements-vendor.txt
79
fi

examples/lambda_api/scripts/venv.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ source ./venv/bin/activate
44
if test -f "./scripts/install.sh"; then
55
bash ./scripts/install.sh
66
fi
7+
8+
if test -f "./scripts/tests/install-tests.sh"; then
9+
bash ./scripts/tests/install-tests.sh
10+
fi

examples/lambda_api/scripts/zip.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
if test -f .projectrc; then
22
source .projectrc
3-
elif test -f ./bin/.projectrc; then
4-
source ./bin/.projectrc
3+
elif test -f ./scripts/.projectrc; then
4+
source ./scripts/.projectrc
55
fi
66

77
if [ -z "$PROJECT_NAME" ]; then

examples/lambda_cron/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)