Comments (5)
Estou pensando em utilizar o MongoDB para isso
from mango-downloader.
Na página de listagem de mangás, é possível saber qual é a última página disponível, dessa forma, da para saber quantas iterações serão feitas para obter o nome e link de todos os mangás disponíveis na plataforma.
from mango-downloader.
As funções para pegar os nomes e URLs de todos os mangás disponíveis na plataforma já estão feitas.
from mango-downloader.
Estou pensando em utilizar o MongoDB para isso
Ainda estou na dúvida se iriei utilizar um Banco de Dados ou somente um arquivo.
Caso utilizar arquivo, quero que toda vez que inicie o programa ele verifique se o arquivo existe, para isso, uma alternativa é utilizar o comando find do Linux.
Aí utilize o seguinte código em Python para verificar o seu retorno:
from os import popen
output: List[str] = popen("find . -type f -name <nome do arquivo>").readlines()
Caso o arquivo não exista (lista vazia), executa as funções para pegar os nomes e URLs de todos os mangás disponíveis na plataforma; caso já exista não faz nada. Porém ainda tenho que pensar em uma maneira de, em tempos em tempos atualizar esse arquivo, pois novos mangás podem ser adicionados a qualquer momento.
from mango-downloader.
Deixei de lado a ideia do banco de dados, e também de armazenar o nome dos mangás em um arquivo.
Vou utilizar o conceito de repositórios, ou seja, tem um arquivo que contém as URLs das listas de mangás separados em ordem alfabética, quando o usuário digitar o nome do mangá, o programa irá ver em qual URL aquele mangá se encontra, e com isso pegar as informações necessárias para fazer o download, além de mostrar os capítulos que estão disponíveis até o momento.
O motivo dessa decisão é pelo fato de que, dessa forma não é necessário se preocupar com armazenamento, além de deixar mais simples a manutenção, pois caso necessário, basta alterar as URLs das páginas dos mangás em um único arquivo. E como para o programa funcionar, um dos requisitos principais é a conexão com a internet, não é um problema ter que fazer uma busca no site para verificar o mangá que foi solicitado o download. Também não é necessário se preocupar com atualizações, adições e remoções de mangás.
O único ponto negativo (que eu consigo pensar agora) é que isso pode resultar em um tempo de espera maior pelo usuário, do que se fosse feita uma consulta no banco de dados ou até mesmo em um arquivo que contém todos os mangás disponíveis na plataforma. Porém, eu não acredito que isso leve a uma péssima experiência ou até desistência de uso do programa.
from mango-downloader.
Related Issues (10)
- Permitir download de mais de um capítulo HOT 1
- Baixar todos os capítulos disponíveis de um mangá HOT 1
- Criar uma logo para o programa
- Unit Tests
- Dependência do curl HOT 1
- Modificar parser HOT 1
- Arquivo de credenciais tem tempo limite
- Bug na busca por uma mangá que começa com número HOT 1
- Verificar se o site está disponível
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mango-downloader.