filevault is a class for managing a tree of files on the filesystem.
A Vault will:
- Create a directory tree of custom depth
- Spreads files out which keeps CLI snappy when traversing the tree
- Scale to hundreds of thousands of files
- Obfuscate directory paths and filenames
how to install
pip install filevault
how to use
How to create a default Vault object:
from filevault import Vault v = Vault()
You may (and should) customize the Vault instance. Here are the arguments:
- Where should the tree be created? Defaults to 'vault' in pwd.
- How deep should the tree span? Defaults to 3 directories deep.
- Add a custom salt for a unique and more secure tree, defaults to 'changeme'
Another custom example:
from filevault import Vault v = Vault( vaultpath="/tmp/for-test", depth=2, salt="sugar" )
Now that we have a Vault object named v, we may review its two methods:
- create_filename( seed, ext='' )
- Create a valid vault filename seeded with input. Optional extension.
- create_random_filename( ext='' )
- Create a valid vault filename seeded with random input. Optional extension.
Here is a full example:
# import Vault class from filevault import Vault # create vault object named v, with custom path, depth, and salt v = Vault( vaultpath="/tmp/for-test", depth=2, salt="sugar" ) # print a valid vault filename with extension print v.create_filename( "my-first-file", ".png" ) # result: # 3/9/3993817d4f9b3867c6db29b23c9d2ff9bb8a87d89426002adbb6ed34289d9e32.png print v.create_filename( "my-first-file", ".png" ) # Same result: # 3/9/3993817d4f9b3867c6db29b23c9d2ff9bb8a87d89426002adbb6ed34289d9e32.png # print a random valid vault filename without extension v.create_random_filename() # result: # 6/1/6169d6ee0ac0bc63ab667fb94d9cc747df0c03596ac43e24a51b3517d74bdc42
how can I thank you?
Check out my webpage to screenshot service and give me some feedback, tips, or advice. Every little bit of help counts.