Skip to main content

Files Handler Library

Project description

Instalação da biblioteca

  • Para instalar a biblioteca basta chamar no console "pip install files-handler"

Variáveis de ambiente

  • Para o correto funcionamento da biblioteca é preciso ter configurado na aplicação que irá chamar a biblioteca três variáveis de ambiente, sendo elas:

    AWS_ACCESS_KEY_ID = Access key do usuário na AWS

    AWS_SECRET_ACCESS_KEY = Secret Access key do usuário na AWS

    AWS_REGION_NAME' = Região que está o bucket S3

Inicialização da biblioteca

  • Para iniciar a biblioteca, basta importar as duas classes, ou apenas a de interesse com o "from files_handler import s3_handler, folders_handler"

  • O próximo passo é instanciar a classe respectiva:

    s3_handler_class = s3_handler(bucket, path_ref)

    Para essa classe é preciso passar no construtor, o bucket do S3 e também um diretorio de referência local para obter e salvar os arquivos

    folders_handler_class = folders_handler(path_ref)

    Para essa classe é preciso passar no construtor o diretório de referência que contém as pastas a serem manipuladas.

  • Após isso, é só chamar as funções de cada classe, um exemplo:

    folders_handler_class.verify_and_create_folder('input')

    Dessa forma, a função verifica a pasta no diretório 'path_ref + input', e caso não exista, ela será criada

Descrição das classes da biblioteca

A biblioteca possui duas classes, uma para lidar com a conexão com o S3 e outra para lidar com o gerenciamento das pastas para as análises

O s3_handler possui três metódos, sendo eles:

  • get_image_from_s3_bucket

    Responsável por obter uma imagem do S3

  • upload_image_to_s3_bucket

    Responsável por upar a imagem resultando no S3

  • check_if_file_already_exists

    Verificar se já existe algum arquivo ou imagem no S3

O folders_handler possui dois métodos, sendo eles:

  • clear_folder

    Responsável por limpar a pasta que foi passada como parâmetro

  • verify_and_create_folder

    • Responsável por verificar se a pasta já existe, se não, ele cria a pasta que foi passada como parâmetro

Testar a biblioteca

Para testar a biblioteca é preciso instalar os pacotes do requirements.txt, configurar as variáveis de ambiente no tests/s3_handler_tests.py e rodar os comandos na raiz da biblioteca:

python -m unittest tests/s3_handler_tests.py

python -m unittest tests/folders_handler_tests.py

Subir uma nova versão da biblioteca

Para subir uma nova versão da biblioteca no Pypi é preciso ter uma conta no PyPi, ter instalado o twine na máquina, modificar o número da versão na linha 18 do setup.py, e rodar os seguintes comandos na raiz da biblioteca:

python setup.py sdist bdist_wheel

python -m twine upload dist/* --verbose --skip-existing

A URL da lib no PyPi é essa: https://pypi.org/project/files-handler/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

files-handler-0.1.6.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

files_handler-0.1.6-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file files-handler-0.1.6.tar.gz.

File metadata

  • Download URL: files-handler-0.1.6.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for files-handler-0.1.6.tar.gz
Algorithm Hash digest
SHA256 4e55bff0b005cfceefce198309d24a6a5654f69ed2aa83ee0123545335d050d2
MD5 3778a79f47e673486050e795fc19a027
BLAKE2b-256 be65a787ca52b5bd5866c9da2ebd5dd0b7ddd6e9fde384fa588fd7d59aa7bd83

See more details on using hashes here.

File details

Details for the file files_handler-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for files_handler-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 84d7335e5c835e0f55e713cb6295a657842d937caa649757e389ab3d0fa3c947
MD5 77973972450711594a9cec44499e9cb2
BLAKE2b-256 78e2b9cdd90f389746c08e1bfdabafadc9f07e9f4b400b49d17fe02408256e2e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page