Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit dfff8c1

Browse files
authored
Merge pull request #73 from aledruetta/master
Merge Devel
2 parents b244f01 + 40ece94 commit dfff8c1

File tree

18 files changed

+975
-184
lines changed

18 files changed

+975
-184
lines changed

.gitignore

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ venv*/
33
.vscode/
44
.vagrant/
55
__pycache__/
6+
*.egg-info/
7+
node_modules/
8+
69
*.sw[pon]
7-
requirements-dev.txt
810
*.db*
9-
.eslintrc.*
10-
node_modules/
1111
*.log
12-
*.egg-info/
12+
.eslintrc.*
13+
14+
requirements-dev.txt
1315
tilix.json

.pylintrc

Lines changed: 100 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,101 @@
11
[MASTER]
2-
disable=
3-
C0114, # missing-module-docstring
4-
C0115, # missing-class-docstring
5-
C0116, # missing-function-docstring
6-
E1101, # instance has no member
2+
disable=abstract-method,
3+
apply-builtin,
4+
arguments-differ,
5+
attribute-defined-outside-init,
6+
backtick,
7+
bad-option-value,
8+
basestring-builtin,
9+
buffer-builtin,
10+
c-extension-no-member,
11+
consider-using-enumerate,
12+
cmp-builtin,
13+
cmp-method,
14+
coerce-builtin,
15+
coerce-method,
16+
delslice-method,
17+
div-method,
18+
duplicate-code,
19+
eq-without-hash,
20+
execfile-builtin,
21+
file-builtin,
22+
filter-builtin-not-iterating,
23+
fixme,
24+
getslice-method,
25+
global-statement,
26+
hex-method,
27+
idiv-method,
28+
implicit-str-concat-in-sequence,
29+
import-error,
30+
import-self,
31+
import-star-module-level,
32+
inconsistent-return-statements,
33+
input-builtin,
34+
intern-builtin,
35+
invalid-str-codec,
36+
locally-disabled,
37+
long-builtin,
38+
long-suffix,
39+
map-builtin-not-iterating,
40+
misplaced-comparison-constant,
41+
missing-function-docstring,
42+
metaclass-assignment,
43+
next-method-called,
44+
next-method-defined,
45+
no-absolute-import,
46+
no-else-break,
47+
no-else-continue,
48+
no-else-raise,
49+
no-else-return,
50+
no-init, # added
51+
no-member,
52+
no-name-in-module,
53+
no-self-use,
54+
nonzero-method,
55+
oct-method,
56+
old-division,
57+
old-ne-operator,
58+
old-octal-literal,
59+
old-raise-syntax,
60+
parameter-unpacking,
61+
print-statement,
62+
raising-string,
63+
range-builtin-not-iterating,
64+
raw_input-builtin,
65+
rdiv-method,
66+
reduce-builtin,
67+
relative-import,
68+
reload-builtin,
69+
round-builtin,
70+
setslice-method,
71+
signature-differs,
72+
standarderror-builtin,
73+
suppressed-message,
74+
sys-max-int,
75+
too-few-public-methods,
76+
too-many-ancestors,
77+
too-many-arguments,
78+
too-many-boolean-expressions,
79+
too-many-branches,
80+
too-many-instance-attributes,
81+
too-many-locals,
82+
too-many-nested-blocks,
83+
too-many-public-methods,
84+
too-many-return-statements,
85+
too-many-statements,
86+
trailing-newlines,
87+
unichr-builtin,
88+
unicode-builtin,
89+
unnecessary-pass,
90+
unpacking-in-except,
91+
useless-else-on-loop,
92+
useless-object-inheritance,
93+
useless-suppression,
94+
using-cmp-argument,
95+
wrong-import-order,
96+
xrange-builtin,
97+
zip-builtin-not-iterating,
98+
C0114, # missing-module-docstring
99+
C0115, # missing-class-docstring
100+
C0116, # missing-function-docstring
101+
E1101, # instance has no member

README.md

Lines changed: 34 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,49 @@
1-
# API Estação Meteorológica Python
2-
## Instalação
3-
https://www.python.org/
4-
## Documentação
5-
https://docs.python.org/3/
6-
## IDE
7-
https://code.visualstudio.com/docs/languages/python
8-
## Instalar plugin Python
9-
https://editorconfig.org/
10-
## Virtual Environment
11-
https://docs.python.org/3/library/venv.html?highlight=venv#module-venv
1+
# Flask REST API
122

13-
C:\<pasta do projeto>> python -m venv venv
3+
Instalar VirtualBox e Vagrant
144

15-
C:\<pasta do projeto>> venv\Scripts\activate
5+
# Inicializar VM
166

17-
C:\<pasta do projeto>> deactivate
18-
## Módulos
19-
https://pypi.org/project/pip/
7+
```
8+
vagrant destroy
9+
vagrant up
10+
vagrant ssh
2011
21-
C:\> pip install flask
12+
ln -s /vagrant_data prototipo
2213
23-
C:\> pip install fontawesome
14+
cd prototipo
15+
make install
2416
25-
C:\> pip install flask-bootstrap
17+
source ~/.venv/bin/activate
2618
19+
make initdb
2720
28-
## Flask
29-
https://flask.palletsprojects.com/en/1.1.x/
30-
### LINUX
31-
> FLASK_APP=app.py
21+
make shell
22+
import sensor_sim
23+
sensor_sim.create_all()
24+
exit
3225
33-
> FLASK_ENV=development
34-
### WINDOWS
35-
> $env:FLASK_APP = ‘app.py’
26+
make run
27+
```
3628

37-
> $env:FLASK_ENV = ‘development’
29+
# Usar VM
3830

39-
## API REST endpoints
40-
LIST get /api/v1.0/
31+
```
32+
vagrant status
33+
vagrant up
34+
vagrant ssh
4135
42-
GET get /api/v1.0/id
36+
source ~/.venv/bin/activate
37+
cd prototipo
38+
make run
4339
44-
CREATE post /api/v1.0
40+
Ctrl+C
41+
exit
42+
vagrant halt
43+
```
4544

46-
UPDATE post /api/v1.0/id
45+
# Browser
4746

48-
DELETE post /api/v1.0/id/del
49-
50-
>>>>>> Atualizar endpoints!!!
51-
52-
## Flask-RESTful
53-
https://flask-restful.readthedocs.io/en/latest/
54-
Jinja2 Templates
55-
56-
https://palletsprojects.com/p/jinja/
57-
58-
## SQLAlchemy ORM
59-
https://flask-sqlalchemy.palletsprojects.com/en/2.x/
60-
3 barras significam path relativo, 4 path absoluto:
61-
62-
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
63-
### Usar chave/valor para instanciar o modelo:
64-
admin = User(username='admin', email='[email protected]')
65-
Só aceita os verbos GET e POST.
66-
### Para inicializar o banco de dados:
67-
Abrir sessão interativa do python
68-
from app import db
69-
db.create_all()
70-
Na documentação oficial tem a informação sobre os modelos de relacionamento. Aqui a gente usou um para muitos.
71-
72-
## Application Factory
73-
Modularização por extensões
74-
Agrupamento de views por Blueprints
75-
76-
## Implementação de MVC
77-
Imports absolutos e relativos
78-
Circular imports
79-
80-
## API testes
81-
Postman
82-
Autenticação
83-
84-
https://pythonhosted.org/Flask-JWT/
85-
86-
https://blog.tecladocode.com/simple-jwt-authentication-with-flask-jwt/
87-
88-
https://learning.postman.com/docs/sending-requests/authorization/#bearer-token
89-
90-
## Criptografia
91-
https://pythonprogramming.net/password-hashing-flask-tutorial/
92-
93-
## Visualização
94-
https://seaborn.pydata.org/examples/index.html
95-
96-
https://www.highcharts.com/
97-
98-
https://www.openstreetmap.org/#map=11/-23.5401/-45.2450
99-
100-
https://leafletjs.com/
101-
102-
https://www.mapbox.com/
47+
```
48+
localhost:5000
49+
```

prototipo/README.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)