Skip to main content

A suite of Python base classes that simplify interactions with files.

Project description

build status

file-flamingo

A suite of base classes that simplifies interactions with files.

pip3 install fileflamingo
from fileflamingo.BaseFile import BaseFile
from fileflamingo.RSAFile import RSAFile
from fileflamingo.EncryptionFile import EncryptionFile

base_file = BaseFile("./my_text.txt")
base_file.create_filepath()
base_file.append_data_to_file("I am about to be encrypted.")

rsa_file = RSAFile('./my_key.pem')
rsa_file.gen_pem_file() # Creates an rsa key and writes it to my_key.pem.

encryption_file = EncryptionFile(base_file.get_filepath(), rsa_file.get_filepath())

encryption_file.encrypt() # Encrypt ./my_text.txt with the encrypt function.
print(my_file.get_bytes_from_file())

encryption_file.decrypt() # It can be decrypted with the decrypt() function.
print(my_file.get_contents_of_file())

Output:

b'\x8cZc\x1bA*\xbb\x00\xc5\x1a\x0e)\x8d\x1f\x05+\xa0\x81\xda\xb9\x91\n\n\x17J p\xb0\x0f>\xf3)\xf9*\xda\x97J\x1b\x94\x11Q\xe7\xdd\x84\x1c\x1ca9)\xdcY\x0e\x95\x11\xbf=\xfb8\x88\x88f\xc1\xf2\xfeV\\\x8d\\~]\xef\t\xac\x8b\xa0+\xf5W\xf5\xea\x04\tU\xe2[\xd6v\xad\x08Z\xd7\x82\x08\x07\xd2\x8bS\xc4\xbe\xc2e\x96\x7fk\xe8\xb5S\xa4\x95;\x12Y\x83\x11\xbe\xa6\x82!\xf4\x18\xef\xf1\xce\xdd\x934Ay\x08\xd9\xfa\t.\x00b\xdfvY( \x8a\xed\xdc\xd8\xeb\x12\xf2\xf0\xa6G\x08T#\x91p\xb2<\xe6\xf9\x94)J\xe2le\x13\x02\x92s\xbb\xbd\xc8\xebI\xb4\x041\xa0\x9d\xbfy?\xe3\xe4\xa7\x98\x07pX\x87\xda\xd9\xba\xd5c3\rWBv0\x17\xf7\xff}\x1d\x83\xf5\xc6)\xdd||\xe8\xd0\x90^$\xae\xbb\xf7Kc\x15.\xd8\xa8F\x16\xee\xb5\x00z<\xd88\x05Z,\xef\xc0\xe1\xbe\xfdY\xb0\xa5\x1aX\xa3R"o\xf2\x9c\xbe'
I am about to be encrypted.

BaseFile

BaseFile(filepath)

Functions:

  • create_filepath (either a file or a dir)
  • delete_file (only works on files, not dirs)
  • clear_file
  • get_contents_of_file (only works with text)
  • append_text_to_file
  • write_text_to_file
  • is_binary
  • is_empty
  • is_dir
  • is_file is_decryptable is_encryptable
  • filepath_exists

TextFile

TextFile(filepath, txt="This is added to the file.")

The TextFile does not add functionality but allows the user to create text files with content at initialization. The txt is appended to the file, so if the file already exists, the text is appended.

EncryptionFile

EncryptionFile(filepath, rsa_filepath)

Functions:

  • encrypt
  • decrypt
  • write_bytes_to_file
  • get_bytes_from_file

RSAFile

RSAFile(filepath)

Functions:

  • gen_key
  • gen_pem_file
  • get_key

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

fileflamingo-0.0.7.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

fileflamingo-0.0.7-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file fileflamingo-0.0.7.tar.gz.

File metadata

  • Download URL: fileflamingo-0.0.7.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for fileflamingo-0.0.7.tar.gz
Algorithm Hash digest
SHA256 45c04b2211f474b9dd24332f98fece111ddc0d875872eee24a612af291f27575
MD5 e7bdfeea00792afd487aaee43c44008d
BLAKE2b-256 10556d1e52750fcb7eddd10dffd922eabb684f2c2b72645fe1d6a3662a2ac768

See more details on using hashes here.

File details

Details for the file fileflamingo-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: fileflamingo-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for fileflamingo-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c994e63f01dead2f9fbe29e93c1edbf542f7cc29351c9524e3e95b18e7b26e21
MD5 f152dacb9f68446ebf90c510ecb53aac
BLAKE2b-256 444b7d52ad0793026cdd636a0f30f42cab5a4bb33c731665ef24f2d4ccc85ed4

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