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 um 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 terá as pastas para serem criadas ou limpadas

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

    folders_handler_class.verify_and_create_folder('input')

    Dessa forma ele irá verificar a pasta no diretório 'path_ref + input', e se ela não tiver, 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.5.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

files_handler-0.1.5-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: files-handler-0.1.5.tar.gz
  • Upload date:
  • Size: 4.4 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.5.tar.gz
Algorithm Hash digest
SHA256 9c62b65b47898c73905f5c0a5904ad1615c44b4d1883e4c0708fa8b2c3e67a09
MD5 dadfe0aacfb72cd65f36604bdf2b7d1e
BLAKE2b-256 186d46936e0ac34950b57f8104c1fa6547c2826da8bf841e519cc02771f08d69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for files_handler-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 37fdff6b06b58ecb9657641f99c22d23ad426c450d5715f4747e2079ef971337
MD5 ab701bd2b8d7a33b93a1596a9bb04bcc
BLAKE2b-256 5a24874d37e197228acb0d9a3e802f6c747b006026fb805cb9ef2616b6499821

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