CAGR Explorer (CAGRex)
======================

Installation
------------
```bash
pip install cagrex
```

Usage
-----
```python
>>> from cagrex import CAGR
>>> from pprint import pprint

>>> cagr = CAGR()

>>> pprint(cagr.course('INE5417', '20172'))
{'ementa': 'Análise de requisitos: requisitos funcionais e requisitos '
           'não-funcionais; técnicas para levantamento e representação de '
           'requisitos, incluindo casos de uso. Modelagem OO: classe, '
           'atributo, associação, agregação e herança. Projeto OO: técnicas '
           'para projeto; padrões de projeto, componentes e frameworks; '
           'projeto de arquitetura; mapeamento objeto-relacional. Linguagem de '
           'especificação orientada a objetos. Métodos de análise e projeto '
           'orientados a objetos. Desenvolvimento de um software OO.',
 'horas_aula': 90,
 'id': 'INE5417',
 'nome': 'Engenharia de Software I',
 'semestre': 20181,
 'turmas': {'04208A': {'horarios': [{'dia_da_semana': 2,
                                     'duracao': 3,
                                     'horario': '1330',
                                     'sala': 'CTC-CTC108'},
                                    {'dia_da_semana': 3,
                                     'duracao': 2,
                                     'horario': '0820',
                                     'sala': 'CTC-CTC107'}],
                       'pedidos_sem_vaga': 0,
                       'professores': ['Ricardo Pereira e Silva'],
                       'vagas_disponiveis': 10,
                       'vagas_ofertadas': 25},
            '04208B': {'horarios': [{'dia_da_semana': 2,
                                     'duracao': 3,
                                     'horario': '1330',
                                     'sala': 'AUX-ALOCAR'},
                                    {'dia_da_semana': 3,
                                     'duracao': 2,
                                     'horario': '0820',
                                     'sala': 'AUX-ALOCAR'}],
                       'pedidos_sem_vaga': 0,
                       'professores': ['Patricia Vilain'],
                       'vagas_disponiveis': 9,
                       'vagas_ofertadas': 25}}}

>>> cagr.login('id.ufsc', 'password')
>>> pprint(cagr.student(16100719))
{'id': 16100719,
 'nome': 'Cauê Baasch de Souza',
 'curso': 'Ciências Da Computação',
 'disciplinas': [{'id': 'INE5413',
                  'nome': 'Grafos',
                  'semestre': '20172',
                  'turma': '04208'},
                 {'id': 'INE5414',
                  'nome': 'Redes de Computadores I',
                  'semestre': '20172',
                  'turma': '04208'},
                 {'id': 'INE5415',
                  'nome': 'Teoria da Computação',
                  'semestre': '20172',
                  'turma': '04208'},
                 {'id': 'INE5416',
                  'nome': 'Paradigmas de Programação',
                  'semestre': '20172',
                  'turma': '04208'},
                 {'id': 'INE5417',
                  'nome': 'Engenharia de Software I',
                  'semestre': '20172',
                  'turma': '04208B'}]}

```
