2.1 KiB
2.1 KiB
image-index
This project is a script which can index and sort files on your pc. You can give every file a title, category, source, tags and content for easier finding later on. All information is stored inside of an SQLite-database. Two separate tables are used to give aliases to the categories and tags, so that a user can easily change the names without modifying all affected entries. You can also encrypt all files with AES-CBC.
This project was written and tested on an Arch Linux-based distribution and python 3.10.
Functions
- add - Add a file and entry to the index
- copy - copies a file from the index to a custom location
- check - check if all files saved in the index exist and aren't faulty
- delete - delete a file and remove the entry
- import - lets you add every file to the index in a chosen directory
- meta - a command to change aliases of categories and tags
- open - open one or more files from the index in the default application (only Linux and Windows)
- replace - replaces a file in the index with another file while keeping the entry
- show - search through the index and show the matches
- update - change a value of an entry in the index or move a file to another category
Dependencies
- hashlib
- pycryptodomex
- sqlite3
Downloading
There isn't an install script currently.
git clone https://gitlab.com/rodin_schule/image-index-py.git
cd ./image-index-py
Configuration
The top of the file holds some very important variables that need to be looked at by the user:
- ROOT_DIR: The absolute path of where you want to save your files (the directories for the categories will be created there)
- INDEX_FILE: The absolute path of the database file.
- LINUX_APP_STARTER: The linux command which can open a file in the default application. Most distributions use
xdg-open
. - ENCRYPT: This setting tells the script whether to encrypt the added files by default or not.
- If set to True, the ids of the categories will be fully random (fe627ea4-3fd60 instead of category-3fd60) for pretty much zero-knowledge storage on a remote server without access to the database.