Add-on:WatchedList: Difference between revisions
(Updated settings to new version) |
m (xbmc -> kodi) |
||
Line 41: | Line 41: | ||
# DB Method: Either use a SQLite db file or a mysql server for the database of this addon. The default setting is a local SQLite db file. This is suitable for backup of the local watched states in case of file movements or Kodi database cleaning. | # DB Method: Either use a SQLite db file or a mysql server for the database of this addon. The default setting is a local SQLite db file. This is suitable for backup of the local watched states in case of file movements or Kodi database cleaning. | ||
# DB File: Use a non-default database file (not in [...]/userdata/addon_data/service.watchedlist) | # DB File: Use a non-default database file (not in [...]/userdata/addon_data/service.watchedlist) | ||
# DB File: Path to the database-file. To add a network path for access from multiple clients you can browse the path in | # DB File: Path to the database-file. To add a network path for access from multiple clients you can browse the path in Kodi or edit this value manually in the "%appdata%\Kodi\userdata\addon_data\service.watchedlist\settings.xml". | ||
# DB File: Filename of the database (SQLite .db file) | # DB File: Filename of the database (SQLite .db file) | ||
# DB File: Create a zip backup copy (ca. 40 KB) of the database (ca 100 KB) each time before writing it. Set the number of backup files with this option. With this you can restore any state you want, e.g. when you mess with your kodi-database and too much media is marked as watched. You can set this to infinite number of backups (option ''-1'') to make sure, but this will fill your disk over the years. | # DB File: Create a zip backup copy (ca. 40 KB) of the database (ca 100 KB) each time before writing it. Set the number of backup files with this option. With this you can restore any state you want, e.g. when you mess with your kodi-database and too much media is marked as watched. You can set this to infinite number of backups (option ''-1'') to make sure, but this will fill your disk over the years. | ||
Line 100: | Line 100: | ||
[[File:service_watchedlist_doc_sqlite_watched_movies.png|500px|Movie table overview]] | [[File:service_watchedlist_doc_sqlite_watched_movies.png|500px|Movie table overview]] | ||
The second table stores watched tv episodes with unique number for the TV Show (this field is called imdbnumber in | The second table stores watched tv episodes with unique number for the TV Show (this field is called imdbnumber in Kodi, but this is the TheTVDB number). The names of the tv shows are stored in a third table, only for better readability. | ||
[[File:service_watchedlist_doc_sqlite_watched_episode.png|500px|Episode table overview]] | [[File:service_watchedlist_doc_sqlite_watched_episode.png|500px|Episode table overview]] | ||
Line 125: | Line 125: | ||
== Technical Details == | == Technical Details == | ||
The | The Kodi Database is queried and updated with JSON-RPC. It should not matter whether you use Kodi mysql or Kodi local database. | ||
== Limitations == | == Limitations == | ||
Line 137: | Line 137: | ||
::* http://code.google.com/p/xbmc-follwit/ (Last update April 2012, probably not Frodo-compatible) | ::* http://code.google.com/p/xbmc-follwit/ (Last update April 2012, probably not Frodo-compatible) | ||
::* ... | ::* ... | ||
* separate script to scan | * separate script to scan Kodi library (probably not executable from within Kodi) | ||
::* http://forum.kodi.tv/showthread.php?tid=62874&pid=1280902#pid1280902 | ::* http://forum.kodi.tv/showthread.php?tid=62874&pid=1280902#pid1280902 | ||
* other similar addons | * other similar addons | ||
Line 143: | Line 143: | ||
::* http://forum.kodi.tv/showthread.php?tid=129448&pid=1401643#pid1401643 (working in Frodo, a little bug, because comparison of names instead of unique numbers) | ::* http://forum.kodi.tv/showthread.php?tid=129448&pid=1401643#pid1401643 (working in Frodo, a little bug, because comparison of names instead of unique numbers) | ||
* Export watched flag in nfo file and Import it back again: | * Export watched flag in nfo file and Import it back again: | ||
::* | ::* [[AdvancedSettings.xml]] Section: Video Library | ||
== Feedback and Discussion == | == Feedback and Discussion == |
Revision as of 15:11, 28 April 2017
WatchedList | ||||||||||||||||
|
Add-ons | WatchedList |
Need help with this add-on? See here. |
Export: Searches the Kodi-Database for watched files. Determine imdb-id and thetvdb-id to identify movies and TV-episodes. Then save the list to a new independent table.
Import: Set the watched state for each video file in Kodi.
Automatic background process without user interaction.
Installing
This add-on is installed from the Add-on browser located in Kodi as follows:
- Settings
- Add-ons
- Install from repository
- Program Add-ons
- WatchedList
- Install
Setup
Basic Settings
- Update watched state of movies
- Update watched state of episodes
- Autorun: starts with Kodi after a delay time of x minutes.
- Startup delay (see above x). Set the delay time to not disturb directly at startup.
- Autostart mode: 'one update' only does one full update of the watchedlist and then quits. 'periodic' executes this update in the interval given below. 'no update' does no full update. You have the possibility to run WatchedList in background.
- Update interval (active if set to 'periodic' above)
- Follow user ...: Run in background and update the WatchedList database every time the user changes a watched state (from unwatched to watched and vice versa). Marking something as "unwatched" is only possible with this setting.
- Progress dialog: Show a progress bar for every full update. No user interaction possible during the update (can take a few minutes, depending on verbosity and amount of changes and size of database), but it is possible to abort the whole process.
- Amount of User Information ("verbosity"): Determines, for which events a notification will be shown. This is independent from debug logging. Options: all (notification for updates of every single movie and episode), only info (default, only notification for major steps of the update process, only warning, only error, none (show no notifications at all)
Database Settings
- DB Method: Either use a SQLite db file or a mysql server for the database of this addon. The default setting is a local SQLite db file. This is suitable for backup of the local watched states in case of file movements or Kodi database cleaning.
- DB File: Use a non-default database file (not in [...]/userdata/addon_data/service.watchedlist)
- DB File: Path to the database-file. To add a network path for access from multiple clients you can browse the path in Kodi or edit this value manually in the "%appdata%\Kodi\userdata\addon_data\service.watchedlist\settings.xml".
- DB File: Filename of the database (SQLite .db file)
- DB File: Create a zip backup copy (ca. 40 KB) of the database (ca 100 KB) each time before writing it. Set the number of backup files with this option. With this you can restore any state you want, e.g. when you mess with your kodi-database and too much media is marked as watched. You can set this to infinite number of backups (option -1) to make sure, but this will fill your disk over the years.
- Dropbox synchronization: Saves your WatchedList database in your dropbox (should take max. 1MB space). If you enable this option, the Dropbox authorization process will be started. If this option is activated with the same Dropbox account on several clients, it is possible to share the WatchedList database via the Dropbox.
- Dropbox Auth Code: This will has to be inserted after the Dropbox authorization process (see above).
- MySQL: IP-adress of the Server. Make sure, there is a mysql server running. To start, use [MySQL/Setting_up_MySQL this] guide.
- MySQL: 3306 is the default mysql port. No need to change it.
- MySQL: Name of the database. You manually need to create this database on the mysql server (use phpMyAdmin)
- MySQL: Username. This user must exist and have all necessary permissions on the database set before
- MySQL: password for this user.
Useage
This addon runs in the background as a service. There is no interaction with the user. The script only gives messages about the current operation
- After Startup, the databases are searched for watched-information (Notification 1).
- Then newly watched movies and tv episodes are written to the addon database (Notification 2).
- After that, media that is not watched in the Kodi database and was previously marked as watched by the addon is again marked as watched in Kodi ( Notifications 3 and 4).
Database
MySQL Database
The mySQL database stores all relevant information. It looks like this:
For the description of the tables read below.
SQLite Database file
The SQLite Database file option is no longer recommended. To transfer an existing SQLite WatchedList? Database, read below.
The script creates a SQLite database. To view the database I used SQLite Database Browser.
https://sourceforge.net/projects/sqlitebrowser/files/latest/download
This figure shows the SQLite db file with automatically created backup copies.
The database has three tables.
The first table stores the watched movies by imdb-number. The title column is only for easier user access to the table.
The second table stores watched tv episodes with unique number for the TV Show (this field is called imdbnumber in Kodi, but this is the TheTVDB number). The names of the tv shows are stored in a third table, only for better readability.
Conversion from SQLite database to mysql database
In Version 1.0.0 of this addon, the possibility to use a mysql database was added. This has a few advantages over the SQLite Database file:
- simultaneous access possible
- mysql handles all the database access, therefore no permanent backup copying necessary
- no filesystem access in the addon. Should lead to fewer errors
How to convert the database from SQLite db file to mysql:
- open the old database file in SQLite database browser
- File -> Export -> Database to sql file
- bring this into the new format. For Replacement, I used Notepad++ in Windows:
- Replace regular expression
"INSERT INTO `movie_watched` VALUES \((\d+),(\d+),(\d+),(\d+),"
with"INSERT IGNORE INTO `movie_watched` VALUES \((\1),(\2),FROM_UNIXTIME\((\3)\),FROM_UNIXTIME\((\4)\),"
- Replace regular expression
"INSERT INTO `episode_watched` VALUES \((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)"
with"INSERT IGNORE INTO `episode_watched` VALUES \((\1),(\2),(\3),(\4),FROM_UNIXTIME\((\5)\),FROM_UNIXTIME\((\6)\)\)"
- The exact character sequence regarding white-spaces or backticks can be different between versions of the SQLite tool and might need adaptation
- Replace regular expression
- Save this new sql file
- execute the commands in the "INSERT"-commands in the sql query interface in phpmyadmin after the tables were generated at the first start of the watchedlist addon with mysql option enabled.
Technical Details
The Kodi Database is queried and updated with JSON-RPC. It should not matter whether you use Kodi mysql or Kodi local database.
Limitations
The watched-status is only stored based on imdb/thetvdb number. Different Versions of a movie (DVD, BlueRay, Extended Edition, Directors Cut) are all considered equally watched.
Alternatives
- Online List of watched movies
- Trakt Add-on
- http://code.google.com/p/xbmc-follwit/ (Last update April 2012, probably not Frodo-compatible)
- ...
- separate script to scan Kodi library (probably not executable from within Kodi)
- other similar addons
- http://code.google.com/p/xbmc-watched-data/ (defect in Frodo?)
- http://forum.kodi.tv/showthread.php?tid=129448&pid=1401643#pid1401643 (working in Frodo, a little bug, because comparison of names instead of unique numbers)
- Export watched flag in nfo file and Import it back again:
- AdvancedSettings.xml Section: Video Library
Feedback and Discussion
In case of errors or questions, please post them in the forum thread.