https://github.com/jtemporal/schematics-tutorial
vai ter post, qnd tiver no ar coloco o link aqui ;)
https://github.com/jtemporal/schematics-tutorial
Last synced: about 1 month ago
JSON representation
vai ter post, qnd tiver no ar coloco o link aqui ;)
- Host: GitHub
- URL: https://github.com/jtemporal/schematics-tutorial
- Owner: jtemporal
- Created: 2018-10-12T19:41:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-14T04:14:30.000Z (over 7 years ago)
- Last Synced: 2025-01-12T18:35:23.910Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 604 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tutorial Schematics
## Instalação
```console
$ pip install schematics
```
---
## Exemplos
- [Exemplo 1: Validação](#exemplo-1-valida%C3%A7%C3%A3o)
- [Exemplo 2: DataError](#exemplo-2-dataerror)
- [Exemplo 3: Usando dicionários](#exemplo-3-usando-dicion%C3%A1rios)
- [Exemplo 4: DataError usando dicionários](#exemplo-4-dataerror-usando-dicion%C3%A1rios)
- [Exemplo 5: Serializando antes](#exemplo-5-serializando-antes)
- [Exemplo 6: Serializando depois](#exemplo-6-serializando-depois)
- [Exemplo 7: Rogue field](#exemplo-7-rogue-field)
- [Exemplo 8: Deserializando](#exemplo-8-deserializando)
- [Exemplo 9: Reserializando antes](#exemplo-9-reserializando-antes)
- [Exemplo 10: Reserializando depois](#exemplo-10-reserializando-depois)
- [Exemplo 11: Definindo tipos](#exemplo-11-definindo-tipos)
- [Exemplo 12: Pessoa tem cachorrinho](#exemplo-12-pessoa-tem-cachorrinho)
- [Exemplo 13: Cachorrinho](#exemplo-13-cachorrinho)
- [Exemplo 14: Validadores - tipo](#exemplo-14-validadores---tipo)
- [Exemplo 15: Validadores - modelo DataError](#exemplo-15-validadores---modelo-dataerror)
- [Exemplo 16: Validadores - modelo](#exemplo-16-validadores---modelo)
Logo após o título de cada exemplo, eu coloquei também a parte inicial do hash do commit que você pode utilizar para "pular" para a versão dos arquivos de forma mais fácil :wink:
### Exemplo 1: Validação
Commit: 1949e50
```python
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = "42"
jess.linguagens = ["Python", "R", "Go"]
jess.validate() == None
```
### Exemplo 2: DataError
Commit: 1949e50
```python
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = "4p2"
jess.linguagens = ["Python", "R", "Go"]
jess.validate()
```
### Exemplo 3: Usando dicionários
Commit: 1949e50
```python
from models import Pessoa
data = {
"idade": "42",
"nome": "Jess",
"linguagens": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
```
### Exemplo 4: DataError usando dicionários
Commit: 1949e50
```python
from models import Pessoa
data = {
"idade": "4p2",
"nome": "Jess",
"linguagens": ["Python", "R", "Go"]
}
jess = Pessoa(data)
```
### Exemplo 5: Serializando antes
Commit: 1949e50
```python
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.to_native()
```
### Exemplo 6: Serializando depois
Commit: 1bf5445
```python
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.to_native()
```
### Exemplo 7: Rogue field
Commit: 1bf5445
```python
from models import Pessoa
data = {
"name": "Jess"
}
jess = Pessoa(data)
```
### Exemplo 8: Deserializando
Commit: 9898782
```python
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
```
### Exemplo 9: Reserializando antes
Commit: 9898782
```python
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
jess.to_native()
```
### Exemplo 10: Reserializando depois
Commit: 2beeea6
```python
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
jess.to_native()
```
### Exemplo 11: Definindo tipos
Commit: ecf3a67
```python
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = 4242
jess.validate()
```
### Exemplo 12: Pessoa tem cachorrinho
Commit: 923923a
```python
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": ["Python", "R", "Go"],
"pets": [
{"name": "cora", "fur": "preta"},
{"name": "channel", "fur": "branca"}
]
}
jess = Pessoa(data)
```
### Exemplo 13: Cachorrinho
Commit: 923923a
```python
from models import Cachorrinho
data = {
"name": "cora",
"fur": "preta"
}
dog = Cachorrinho(data)
```
### Exemplo 14: Validadores - tipo
Commit: 9c3e573
```python
from models import Pessoa
data = {
"name": "Jess",
"lang": ["Java"]
}
jess = Pessoa(data)
jess.validate()
```
### Exemplo 15: Validadores - modelo DataError
Commit: b866fd0
```python
from models import Cachorrinho
data = {
"name": "cora",
"fur": "preta"
}
dog = Cachorrinho(data)
dog.validate()
```
### Exemplo 16: Validadores - modelo
Commit: b866fd0
```python
from models import Cachorrinho
data = {
"name": "Cora",
"fur": "preta"
}
dog = Cachorrinho(data)
dog.validate()
```