Skip to main content

KassStorager

Instalação

pip install KassStorager

Suporte

Ha suporte para uso local e para uso com Aws S3.

Como usar?

Diretórios

Criar um diretório em um storage especifico. Ex: "./storage_root".

from KassStorager import Storager

Storager('storage_root').make('src')
# ira criar um diretorio '/src' em '/storage_root'

Selecionar um diretorio dentro do storage.

from KassStorager import Storager

Storager('storage_root').getDir('src')

Para verificar se um diretorio existe.

from KassStorager import Storager

result = Storager('storage_root').getDir('src').exists()
# result = False ou True

Para excluir um diretorio.

from KassStorager import Storager

Storager('storage_root').getDir('src').delete()

Caso o diretório não esteja vazio, e mesmo assim ainda queira forçar, passe o parametro 'force';

from KassStorager import Storager

Storager('storage_root').getDir('src').delete(force=True)

Limpar um diretório mantendo ele.

from KassStorager import Storager

Storager('storage_root').getDir('src').cleanDir()


Arquivos

Deletar um arquivo especifico de um diretorio

from KassStorager import Storager

Storager('storage_root').getDir('src').deleteFile('arquivo.txt')

Copiar todos os arquivos de um diretório para outro. Ex: "./storage_root/src" => "./storage_root_2".

from KassStorager import Storager

storage2 = Storager('storage_root_2').getDir()

Storager('storage_root').getDir('src').getFile(ext="*").copyTo(storage2)

Copiar somente um tipo de arquivo de um diretório para outro. Ex: "./storage_root/src" => "./storage_root_2".

from KassStorager import Storager

storage2 = Storager('storage_root_2').getDir()

Storager('storage_root').getDir('src').getFile(ext="csv").copyTo(storage2)

Copiar somente os arquivos com nome que atendam todos os filtros informados de um diretório para outro. Ex: "./storage_root/src" => "./storage_root_2".

from KassStorager import Storager

storage2 = Storager('storage_root_2').getDir()

Storager('storage_root').getDir('src').getFile(filters=["01-02","2024","file"]).copyTo(storage2)

Para mover arquivos utilize o metodo 'moveTo' no lugar de 'copyTo'.

from KassStorager import Storager

storage2 = Storager('storage_root_2').getDir()

Storager('storage_root').getDir('src').getFile(ext="csv", filters=["01-02","2024","file"]).moveTo(storage2)

Como usar? (S3)

Para uso com AWS S3, basta informar na criação do storage os dados de conexao com bucket e o driver 's3', como abaixo.

from KassStorager import Storager

conns3 =  {
    "bucket": 'seu_bucket',
    "access_key": 'sua_chave_de_acesso'
    "secret_key": 'sua_senha',
}

driver = 's3'

storage = 'dir_no_s3'

Storager(storage=storage, driver=driver, config=conns3)

Demais métodos de manipulação de diretórios e arquivos seguem como dito na sessão Como usar?



Envio 'LOCAL' para 'S3' e 'S3' para 'LOCAL'

Pasta informar o storage local e o de destino.

from KassStorager import Storager

# conexão com S3
conns3 =  {
    "bucket": 'seu_bucket',
    "access_key": 'sua_chave_de_acesso'
    "secret_key": 'sua_senha',
}
driver = 's3'
storagerS3 = 'dir_no_s3'

Envio local para S3:

storageS3 = Storager(storage=storage, driver=driver, config=conns3).get_dir()

Storager('storage_root').getDir('src').getFile(filters=["01-02","2024","file"]).copyTo(storageS3)

E ao contrario:

storageLocal = Storager('storage_root').get_dir()

Storager(storage=storagerS3, driver=driver, config=conns3).getDir().getFile(ext="*").copyTo(storageLocal)

Release files for KassStorager 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for KassStorager 1.0.0
File Size Uploaded
kassstorager-1.0.0.tar.gz 6.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for KassStorager 1.0.0
File Interpreter ABI Platform
kassstorager-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.6 kB

Release files / kassstorager-1.0.0.tar.gz

Download URL kassstorager-1.0.0.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a1fb12dca5f1b830c8daddc028c4f7d7d00389c13b611e37324ccfdb9ce70687
BLAKE2b-256 checksum
How to use checksums
ecf8fa7fdf3ccfd6cee2de2308cf18ddae51ff7bf75a3418dbb5748705745435
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.4 Windows/10

Release files / kassstorager-1.0.0-py3-none-any.whl

Download URL kassstorager-1.0.0-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
11859bc67c5db5e62b39601cb129bc2822d67f55009e95a03a9e0d650e22cf47
BLAKE2b-256 checksum
How to use checksums
2b1a21ed309efea63cd6dd2d0a478421fbf0257dd0dea78e8b28c5e619ec4fad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.4 Windows/10

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page