CLI to CPTM and Metro lines status
Project description
TPSP: Transporte Público de São Paulo
tpsp
(acrônimo para "Transporte Público de São Paulo") é uma pequena aplicação
escrita em Python cujo objetivo é exibir o estado atual das linhas da CPTM e
Metro.
AVISO: Este projeto não possui relações com o Estado de São Paulo, a CPTM, o Metro ou qualquer outro órgão governamental.
Sumário
Requerimentos
- Python (3.6.1 ou superior).
Dependências
Funcionamento
Não há, até a data de publicação desta aplicação, uma API pública para os serviços de trem e metrô do Estado de São Paulo. Os dados utilizados por esta aplicação são obtidos mediante web scraping das páginas online dos serviços.
O fluxo é relativamente simples:
- O parser recebe os argumentos e flags da linha de comando;
- Uma requisição
GET
é enviada à página do serviço a ser consultado; - O conteúdo
HTML
é analisado, quebrado a partir da estrutura e filtrado; - os trechos de interesse do conteúdo (as
divs
/.class
que guardam os nomes das linhas e seus respectivo status) são retidos; - Os dados das linhas são formatados e impressos na tela.
Cada resultado é filtrado e manipulado a partir das especificidades da construção da página web do serviço. Apesar de contraproducente, uma vez que mudanças na contrução das páginas podem (e vão) quebrar a funcionalidade, este foi o melhor approach encontrado.
Instalação
$ pip3 install tpsp
Uso
positional arguments:
{cptm,metro} the public transportation service
optional arguments:
-h, --help show this help message and exit
-v, --version show the program version and exit
-j, --json show the output in JSON format
--copyright show the copyright information and exit
examples:
$ tpsp cptm
# => shows the current state of all CPTM lines
$ tpsp metro --json
# => shows the current state of all Metro lines and formats
the output in JSON
Licença
Na medida do possível sob a lei, Caian Rais Ertl renunciou a todos os
direitos autorais e direitos relacionados ou adjacentes a este trabalho. No
espírito da liberdade de informação, encorajo você a forkar, modificar,
alterar, compartilhar ou fazer o que quiser com este projeto! ^ C ^ V
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tpsp-1.0.1.tar.gz
.
File metadata
- Download URL: tpsp-1.0.1.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25bdfc376b2198e14508a8ef09e2856657e9a15f1224365697499b5525af9f8b |
|
MD5 | 542237278271db247d9dbde4dc12382f |
|
BLAKE2b-256 | 97399364a0dc01695b8a75b8702d56c1eb9934346281fb527f3551f02286f5e0 |
File details
Details for the file tpsp-1.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: tpsp-1.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24d8656fd7e304fd2225cd1d1ad0ab9d128bed0bbdc784122536a27a360a3754 |
|
MD5 | f2756ef24572a852144c97b8961e7ebe |
|
BLAKE2b-256 | a6f81f92cc589042fd83f4f2b14122e65de58680712d9f3d493fb62e078ed96b |