File scrapper for clients to sync with a mendia rust application running on a server.
Project description
Mendia File Scraper
About
This is a client for mendia. It indexes local media (currently limited to movies), stores the findings in a local database and publishes new additions to the server running mendia.
Installation:
sudo apt update
sudo apt install libmediainfo0v5
pip install mendiafilescraper
Note: This package needs the mediainfo library.
Ubuntu/Debian: 'libmediainfo0v5'
Arch: 'libmediainfo'
Usage:
--setup
:
Asks for
- Username
- Password
- Media folders
- Server address (e.g
wss://hostname/ws/
, depending on themendia
server)and stores everything in a config file in the home directory
~/.mendiafilescraper/config.txt
--scan
:
Searches all given media folders for new additions and adds them to the database.
--publish
:
Sends new additions to the configured
mendia
server. Use only with--scan
Example:
Settings
mendia-scraper --setup
Add media paths, specify the server address and put in your username and password.
Note: Ask the admin of your target
mendia
server to create a username/password for you.
First scan
The initial scan populates the local database.
--publish
should not be used for the first scan, otherwise this might flood the server.
mendia-scraper --scan
Warning: Make sure that the initial scan worked before proceeding.
Real scan
After the first scan we can add --publish
, from now on new movies will be sent to mendia
.
mendia-scraper --scan --publish
Cronjob
It makes sense to add the scan command to your crontab for automatic scans.
crontab -e
For a daily scan add
@daily mendia-scraper --scan --publish
Problems:
I have a new movie but mendia did not inform about it
It is possible to delete movies from the local database and to retry scanning the movie.
Note: It is easier to use a gui application with sqlite support, but on typical NAS systems there is no gui.
sudo apt install sqlite3
cd ~/.MendiaFileScraper
sqlite3 database.db
Let's say we want to remove the movie "Captive State".
In the sqlite3 shell:
SELECT title, hash FROM movies WHERE instr(title, 'Captive') > 0;
If you do not see any result, play with the search parameters until you found it.
Let's say our result is:
Captive State|a67edf9ee879a7562c17092b97dfe672
The second value is the hash value that was computed based on the movie file. To delete the entry with the has "a67edf9ee879a7562c17092b97dfe672" we do:
DELETE FROM movies WHERE hash="a67edf9ee879a7562c17092b97dfe672";
CTRL+D
to exit from the sqlite3 shell.
Voila, the movie was removed and you can retry scanning with
mendia-scraper --scan --publish
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
Built Distribution
Hashes for mendiafilescraper-3.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09aab1ecc8983e5ab283ae8e8a809d431ba05c204c1d4f4ee374fd9f95b5afa7 |
|
MD5 | fa14b7d3fc946f2e8913b5816480bbf9 |
|
BLAKE2b-256 | 26ad500cd0d77a48fea2011fd11cd463035a1098b2eb8e2d6cea658051108c04 |