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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: files-handler-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 20e734a3ac0d41ecca51226cc0241c9e94be76dab4aa3c3682f0f9094750404e
MD5 7366c4feadbcf24c89dcd0ceb392bd18
BLAKE2b-256 bd37eca46261506a4d4c25cab2b4da2a702c2fa9ab851d468d21fb38752fd2a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for files_handler-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0e6e0cbc905a88bbf6b5722ecba7004762b0a09498bea106c096155a8227a233
MD5 253b34878424efa84b038fe8312332b7
BLAKE2b-256 33ab9517483fc4f7c20b45edffde84ae2e797d6a91518e21de66ebd4c1c98cdf

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