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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: files-handler-0.1.9.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.9.tar.gz
Algorithm Hash digest
SHA256 82c732d36808c8d7d592bc3220d2ce3bb9ddb1e140f931195c33a116308a35f7
MD5 5c95cbbbb629b4360470d64c535a690a
BLAKE2b-256 3eebee71e309a34aa7fa17227c758208e1f8d7be4ebd644b4642ea73f8fe9e12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for files_handler-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 91425965d4d9dc97eda80ed9108f0ad9885a144757ebfe8a13d545efba09940d
MD5 4c19b4cb3bddb4c9ef5909d9cb19650a
BLAKE2b-256 7d0fca82d43d60639a915a73d1f5d9b9645234b1fff6dee721f592a73c881223

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