Skip to content
This repository has been archived by the owner on Aug 30, 2024. It is now read-only.

eitchtee/pyMinhaUFOP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyMinhaUFOP

Wrapper não-oficial para a API mobile da MinhaUFOP

PyPI - License PyPI PyPI - Python Version PyPI - Downloads

🚧 Em desenvolvimento 🚧

❓ O que é?💻 Instalação✍️ Uso e Exemplos🗺️ Roadmap

O que é?

Este wrapper expõe a API Mobile do Aplicativo Minha UFOP.

Instalação

Automático (recomendado)

$ pip install pyminhaufop --upgrade

Manual

  1. Clone este repositório
  2. $ python setup.py install

Lembre-se de manter a biblioteca sempre atuaizada.

Uso e Exemplos

Documentação

Você pode acessar a documentação adicional por meio do parâmetro __doc__.

>> from pyminhaufop import MinhaUFOP
>> print(MinhaUFOP.cardapio_do_ru.__doc__)

Login e Inicialização

Simples

from pyminhaufop import MinhaUFOP

# inicializa a classe
api = MinhaUFOP()

# Logue e gere o token
api.login('123.456.789-10', 'sua_senha')

# acesse as funções da API
saldo = api.saldo_do_ru()
print(saldo['saldo'])

Com senha hasheada

from pyminhaufop import MinhaUFOP

# inicializa a classe
api = MinhaUFOP()

# Logue usando uma senha hasheada em MD5
api.login('123.456.789-10', 'sua_senha_em_MD5', encode=False)

# acesse as funções da API
saldo = api.saldo_do_ru()
print(saldo['saldo'])

Utilizando conta com mais de um perfil

# Você pode passar os dados de forma direta
# identificacao = matrícula com pontos
# perfil = 
#        - "G" - Alunos de Graduação
api.login('123.456.789-10', 'sua_senha', identificacao="20.1.0000", perfil="G")

ou

Indique o index do perfil. O mais recente é o index 0.

api.login('123.456.789-10', 'sua_senha', perfil_num=0)

Atualizando o token

Se o seu token estiver expirado você pode atualizá-lo sem precisar de repetir o processo de login.

api.atualizar_token()

RU

Saldo

saldo = api.saldo_do_ru()

Cardápio

Acessar cardápio da semana

cardapio = api.cardapio_do_ru()

ou

Acessar cardápio de um dia específico na semana

cardapio = api.cardapio_do_ru(dia_da_semana=0) # 0 (segunda) a 4 (sexta)

Extrato

extrato = api.extrato_ru(inicio='2020-01-01', fim='2020-08-01')

print(extrato)

Salvar foto de um CPF

# Retorna a foto em bytes
foto = api.foto('123.456.789-10')

# Salvar a foto em um arquivo .png
with open('ex.png', 'wb') as file:
    file.write(foto)

Atestado de Matrícula

print(api.atestado())

Boleto

Listagem

print(api.listar_boletos())

Gerar

from pyminhaufop import MinhaUFOP
from pyminhaufop.exceptions import MinhaUFOPHTTPError

api = MinhaUFOP()

a = api.login("123.456.789-10", "hunter2")

try:
    api.gerar_boleto(valor=12.0, matricula="20.1.1234", perfil="G")
except MinhaUFOPHTTPError as err:
    if err.status_code == 500:
        print("Já existe um boleto com pagamento pendente.")

Roadmap

Funções nativas

  • Login v0.0.1
  • Consulta de Saldo do RU v0.0.1
  • Consulta de foto pelo CPF v0.0.2
  • Consulta ao Cardápio do RU v0.1.0
  • Boletos
    • Emissão v.0.3.0
    • Download
    • Listagem v.0.3.0
  • Consulta ao Atestado de Matrícula v0.2.0
  • Consulta ao Extrato do RU v0.2.0