Coder Social home page Coder Social logo

mango-downloader's Introduction

mango-downloader

📖 Descrição

O programa se trata de um programa escrito em Python para baixa capítulos de mangás e disponibilizá-los na plataforma Google Drive.

Para isso é informado a URL do capitúlo do mangá (consutar as plataformas suportadas), é feito o download das imagens, os arquivos então são comprimidos utilizando .zip, e fica disponível em uma pasta do Google Drive configurada pelo usuário.

O nome mango-downloader é uma brincadeira juntando a palavra "mango", que traduzindo do idioma Inglês, significa a fruta "manga", pois essa palavra em português é bem próxima da palavra "mangá"; e "downloader" que estaria realacioda com a palavra "download" do idioma Inglês, que significa "baixar".

Qualquer dúvida, sugestão, bugs ou erros são bem-vindos, para isso, utilize a aba de Issues com a label correta.

🌐 Plataformas suportadas

🖥️ Como utilizar

Configurando o Google Drive

  1. Crie uma pasta no Google Drive para onde serão feitos os uploads dos arquivos;
  2. Entre na Google Cloud Plataform e clique em Criar Projeto;
  3. Digite o nome do projeto e depois clique em Criar;
  4. Clique no menu lateral esquerdo, e depois selecione a opção APIs e serviços;
  5. No menu lateral esquerdo, clique em Biblioteca;
  6. Na caixa de pesquisa, procure por Google Drive;
  7. Clique no resultado Google Drive API, e clique em Ativar;
  8. No menu lateral esquerdo, clique em Credenciais;
  9. Clique em Criar Credenciais no topo da página, e em ID doCliente OAuth;
  10. Clique no botão Configurar Tela de Consentimento;
  11. Em User Type1 selecione Externo, e clique em Criar;
  12. Em Informações do app, digite2 o Nome do app e selecione um E-mail para suporte do usuário;
  13. Em Dados de contato do desenvolvedor, digite Endereços de e-mail para o contato, e depois clique em Salvar e continar;
  14. Em Escopos clique em Salvar e continar;
  15. Em Usuários de teste, adicione a conta Google que deseja fazer upload dos arquivos (a mesma em que foi criada a pasta no passo 1 - Configurando o Google Drive), e clique em Salvar e continar;
  16. Em Resumo clique em Voltar para o Painel;
  17. Repita os passos 7 e 8;
  18. Mas agora, selecione App para computador, digite o Nome, e clique em Criar;
  19. Copie o ID de cliente e ** Chave secreta de cliente**, clique em Fazer download do JSON e logo depois clique no botaõ OK;
  20. Faça um Fork deste repositório (caso queira modificá-lo) ou somente clone-o;
  21. Coloque o arquivo contendo as credenciais (.json) na pasta do projeto;
  22. Renomei o arquivo contendo as credenciais (.json) para client_secrets.json.
Obs1: Caso seja um usuário do Google Workspace, poderá utilizar a opção Interno caso deseje.
Obs2: Caso queira poderá preencher os demais campos não obrigatórios também.

Executando o programa

  1. O programa executa comandos diretamente no Sistema Operacional, desa forma, o mesmo possui as depedências operacionais zip e curl, então antes de executá-lo, é necessário garantir que as mesmas já estão instaladas, caso não estejam, busque qual o comando para instalá-las na sua distribuição Linux. Alguns exemplos:
    # Debian-based
    sudo apt install zip
    
    sudo apt install curl
    # Redhat 
    sudo dnf install zip
    
    sudo dnf install curl
    # Arch-based 
    sudo pacman -S zip
    
    sudo pacman -S curl
    # OpenSUSE
    sudo zypper install zip
    
    sudo zypper install curl
  2. Faça o download das dependências do programa:
    pip install -r requirements.txt
    ou
    pip3 install -r requirements.txt
  3. Faça uma cópia do arquivo .env.example com o nome de .env, ou altere o nome do arquivo .env.example para .env:
    cp .env.example .env
    ou
    mv .env.example .env
  4. Faça uma cópia do arquivo settings.example.yaml com o nome de settings.yaml, ou altere o nome do arquivo settings.example.yaml para settings.yaml:
    cp settings.example.yaml settings.yaml
    ou
    mv settings.example.yaml settings.yaml
  5. Abra o arquivo .env e preencha os campos:
    1. [Opcional] GOOGLE_DRIVE_LINK link para acessar a pasta em que será feito o upload dos arquivos (passo 1 - Configurando o Google Drive)
    2. FOLDER_ID ID da pasta em que será feito o upload dos arquivos (passo 1 - Configurando o Google Drive), por exemplo no link "https://drive.google.com/drive/folders/id_da_pasta"
  6. Abra o arquivo settings.yaml e preencha os campos client_id e client_secret, com o que foi copiado3 no passo 19 - Configurando o Google Drive;
  7. Após isso, com um terminal aberto no diretório do programa, basta executar o comando4:
    python src/main.py
Obs3: Caso não tenha copiado, acesse a Google Cloud Plataform, na aba de Credenciais do projeto, em IDs do cliente OAuth 2.0, clique em Editar cliente OAuth, e então copie o ID do cliente e a Chave secreta do cliente.
Obs4: Somente na primeira vez que executar o programa, será necessário se autenticar utilizando uma conta Google, deve ser a mesma em que foi criada a pasta no passo 1 - Configurando o Google Drive e a mesma definida no passo 15 - Configurando o Google Drive.

👨‍💻 Autor

Allan Capistrano
Allan Capistrano

Onde me encontrar:

Github icon   Linkedin icon   Email icon

🙏 Apoie

Por favor ⭐️ este repositório caso este projeto seja útil e/ou tenha lhe ajudado.

"Buy Me A Coffee"

⚖️ Licença

GPL-3.0 License

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.