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.8.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

files_handler-0.1.8-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: files-handler-0.1.8.tar.gz
  • Upload date:
  • Size: 4.8 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.8.tar.gz
Algorithm Hash digest
SHA256 002a683f92332578faa940045f81db7587ec461bdb6164e99ddab38a4af831af
MD5 36681b85dc860d8615a4aabbba7fa62f
BLAKE2b-256 82121cabf683bfb981f5dfaf43d8fee61abe5633ef58ccafb855320caeea5266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for files_handler-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b200c8a28afc7e9aa3275898ee57e526e8914f5a1ca5b02ea899d3ce92b56023
MD5 d4e6431a641f96c095dd7b4e531ad083
BLAKE2b-256 7bbc7d0032e03784a506918d37327f7e377ee0b7812949eef5a6855453894eb2

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