Exercício feito em Aula - Python - IMED - RS
Crie um sistema que transforme URLs grandes como "https://imed.edu.br/Ensino/ciencia-da-computacao/graduacao/sobre-a-profissao/" em uma URL curta.
Exemplo: imed.to/g8
Usando a função hash BASE62: base62('g8') => 1000
BASE62 - Informações importantes:
a-z (minúsculas): 26 caracteres no total
A-Z (maiúsculas): 26 caracteres no total
0-9 (números) : 10 caracteres
--
Total de 62 combinações (base 62) – ver arquivo: base62.py
A ideia é ter uma estrutura com:
-
Um dicionário onde sua chave será um valor obtido a partir do auto-incremento e apontará para uma tupla com a URL encurtada e a original.
a. Exemplo: Chave 1000 => ("g8", "https://imed.edu.br/Ensino/ciencia-da-computacao/graduacao/sobre-a-profissao/")
** Auto-incremento: A implementação deverá ter um contador que irá iniciar no valor 1000 **
• Criar um menu e incluir operações para:
◦ Converter URL para URL curta, armazenando sequencialmente as urls em um dicionário
◦ Testar a conversão de um inteiro para string codificada, usando método do módulo base62 disponibilizado
◦ Testar a conversão de uma string codificada para inteiro, usando método do módulo base62 disponibilizado
◦ Mostrar a tabela hash (dicionário)
◦ Salvar as tabelas hash em arquivo
◦ Carregar arquivo com tabelas
Para salvar e carregar as tabelas use a biblioteca PICKLE do python. https://www.vivaolinux.com.br/dica/Python-3.0-Gravando-dicionarios-em-arquivos/
-
Modules
- DevNux.py
- RW.py
- URL.py
-
store
- main.py
na raíz do projeto, abra o terminal
python3 main.py