39 lines
2.2 KiB
Markdown
39 lines
2.2 KiB
Markdown
# 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
|
|
* stats - shows statistics about the index like number of entries, tags and categories
|
|
* update - change a value of an entry in the index or move a file to another category
|
|
|
|
## Dependencies
|
|
* hashlib
|
|
* pycryptodomex
|
|
* sqlite3
|
|
|
|
## Downloading
|
|
```sh
|
|
git clone https://git.marcelsite.com/marcel/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 randomly generated (fe627ea4-3fd60 instead of category-3fd60) for pretty much zero-knowledge storage on a remote server without access to the database.
|
|
* MAX_ITEMS: The maximal amount of entries shown in the selection menu. |