Giter Site home page Giter Site logo

consulta-saldo-transurc's Introduction

consulta-saldo-transurc

GitHub stars GitHub forks GitHub license

logo-1

Consulte o saldo do seu bilhete único da Transurc via script.

Instruções para começar

Pré-requisitos

O que você precisa pra começar:

Primeiro clone esse repositório (ou faça um fork e substitua /bartier pelo seu user do GitHub)

git clone https://github.com/bartier/consulta-saldo-transurc.git

Na raiz do projeto, construa a imagem consulta-saldo-transurc com o Dockerfile

docker build -t consulta-saldo-transurc .

Execução

Usage: main.py [OPTIONS]

  Obtém seu saldo do cartão de bilhete único da Transurc

Options:
  -n, --num-aplicacao TEXT       Número da aplicação só pode assumir os
                                 valores 03, 04, 07 e 11  [required]
  -c, --cartao TEXT              Número do cartão a ser consultado no formato
                                 XXXXXXXX, em que X é um algarismo  [required]
  -d, --digito-verificador TEXT  Digito verificador do cartão  [required]
  -t, --data-nascimento TEXT     Data de nascimento no formato DD/MM/AAAAA
                                 [required]
  -m, --imgur-client-id TEXT     A aplicação utiliza o Imgur para realizar o
                                 upload do captcha com o objetivo de gerar o
                                 link.  [required]
  --headless                     Se a flag é utilizada, o browser é iniciado
                                 no modo headless, isto é, sem interface
                                 gráfica
  -i, --timeout INTEGER          Timeout para esperar a página ser carrega
                                 após enviar o formulário e obter o saldo
  --help                         Show this message and exit.

Para executar o projeto, utilize o comando do docker com os dados de consulta:

Considere X um número qualquer (apenas 1 algarismo), DD o dia do aniversário (2 algarismos obrigatoriamente), MM o mês (2 algarismos obrigatoriamente) e AAAA o ano (4 algarismos obrigatoriamente).

image

  1. Flag -n XX
  2. Flag -c XXXXXXXX
  3. Flag -d X
  4. Flag -t DD/MM/AAAAA
  5. Obtido na execução via input do terminal.
docker run -it --rm consulta-saldo-transurc -n XX -c XXXXXXXX -d X -t DD/MM/AAAA -m <imgur_client_id> --headless

#exemplo
docker run -it --rm consulta-saldo-transurc -n 03 -c 00123456 -d 4 -t 01/02/1980 -m 76e1a6fb36efa6f --headless

Execução com interface gráfica

Para executar com uma interface gráfica, basta omitir a flag --headless. No entanto, deverá ser usado o ambiente do host ao invés da imagem do Docker para a execução do script. Nesse sentido, utilize o pipenv para instalar as dependências e executar o script.

Dentro do diretório raiz do projeto, execute:

pipenv install
pipenv shell

python src/main.py -n XX -c XXXXXXXX -d X -t DD/MM/AAAA -m <imgur_client_id>

Contribuição

O projeto foi criado utilizando o Page Object Model pattern. Isso significa que existe uma classe representando a página de consulta BalancePage e ela é utilizada pelo script src/main.py.

Este projeto é open-source. Sinta-se à vontade para contribuir!

Licença

Esse projeto é licenciado através de uma licença MIT - veja o arquivo LICENSE para detalhes.

consulta-saldo-transurc's People

Contributors

bartier avatar dependabot[bot] avatar dukkee avatar tuannyruiz avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

consulta-saldo-transurc's Issues

Refazer README.md

Atualizar o README.md com os passos novos para usar o projeto, visto que o mesmo está usando o selenium para consumir a página da consulta do cartão.

  • Novos exemplos de uso do docker para executar o projeto
  • Documentação das flags
  • Explicar novo pattern (Page Object Model) utilizado no projeto

Erro ao consultar saldo

Não estou conseguindo consultar o saldo, pode ser que o site foi alterado e necessite de uma alteração no script.
image

Ainda não cheguei a verificar no código em si o que pode estar errado mas já estou abrindo a issue para caso alguém queira investigar/corrigir =)

Atribuir versão específica para Pipfile

Atualmente o Pipfile está com a definição para obter os pacotes na sua última versão:
image

Caso exista uma alteração grande o suficiente entre versões das dependências, o script pode quebrar. Colocando versões específicas retiraria esse problema.

Converter projeto para usar Selenium

Resolvendo essa issue, resolve o bug do #6 . Realizei um teste rápido para verificar e usando o selenium é possível consultar a página (até mesmo com o browser headless).

Assim que possível irei alterar a estrutura do projeto para Selenium =)

Padronizar README.md

O README.md desse repositório foi criado com base em um template. Atualmente está usando tanto inglês/português na descrição das informações.

Acredito que seria interessante padronizar para uma linguagem em si, como o código dos scripts estão em inglês, acredito que o ideal seria padronizar tudo para inglês.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.