Commit graph

4483 commits

Author SHA1 Message Date
croneter
8bdfcbabc8 Fix Plex GDM discovery request 2020-12-27 13:16:45 +01:00
croneter
8ca9613d62 Fix Plex GDM discovery in local LAN 2020-12-27 13:16:45 +01:00
croneter
cc587ed714 Make seek more resilient. Kodi bug still: JSONRPC error Received value does not match any of the union type definitions 2020-12-27 13:16:45 +01:00
croneter
c22b4c782d Remove obsolete encodes and decodes 2020-12-27 13:16:44 +01:00
croneter
ab73d3c1fd Fix playback not starting 2020-12-27 13:16:44 +01:00
croneter
ae949c45ae Some string encoding fixes 2020-12-27 13:16:44 +01:00
croneter
6904494e31 Get rid of utils.try_encode and utils.try_decode 2020-12-27 13:16:44 +01:00
croneter
d306f36869 More string bytes fixes 2020-12-27 13:16:43 +01:00
croneter
d7525274e9 Fix Queue 2020-12-27 13:16:43 +01:00
croneter
382411bff0 Variety of string and bytes fixes 2020-12-27 13:16:43 +01:00
croneter
e32fa567bc Adjust urllib.parse unquote, quote, quote_plus, unquote 2020-12-27 13:16:42 +01:00
croneter
599f134204 Fix encoding for PKC logging 2020-12-19 07:30:40 +01:00
croneter
1d46779d57 Adjust call signature for json.loads 2020-12-19 07:28:31 +01:00
croneter
a56655356c Depricate listitem.setThumbnailImage and listItem.setIconImage 2020-12-19 07:28:10 +01:00
croneter
dcd6756a7d Fix encoding of file paths 2020-12-18 20:01:06 +01:00
croneter
a1f4bc75e6 Update PKC compatibility checks for Kodi 19 2020-12-18 20:00:14 +01:00
croneter
4b4dc1afbf Fix class __repr__ to account for Python 3 2020-12-18 19:59:33 +01:00
croneter
f771b8d3aa Fix logging for Python 3 2020-12-18 19:32:28 +01:00
croneter
ac4b6fc7b5 Fixes to enable an import of the watchdog module 2020-12-18 18:08:39 +01:00
croneter
750cf953da Update Python watchdog module to 1.0.2 2020-12-18 17:50:39 +01:00
croneter
58eaa14043 Clean up imports 2020-12-18 17:43:24 +01:00
croneter
436b1fda83 Automatically convert source code from Python 2 to 3 using futurize 2020-12-18 17:10:20 +01:00
croneter
7a7ead863d
Merge pull request #1250 from croneter/fix-fanart-matching
Greatly improve matching logic for The Movie Database if Plex does not provide an appropriate id
2020-12-18 15:54:09 +01:00
croneter
56516d3e1c
Merge pull request #1249 from croneter/fix-playlist-keyerror
Fix rare KeyError: None when trying to sync playlists
2020-12-18 15:53:55 +01:00
croneter
681179683f
Merge pull request #1248 from croneter/fix-transcoding-options
Fix high transcoding resolutions not being available for Win10
2020-12-18 15:53:43 +01:00
croneter
690b8c1c94
Merge pull request #1247 from croneter/fix_keyerror
Fix rare playback progress report failing and KeyError: u'containerKey'
2020-12-18 15:53:30 +01:00
croneter
c753d97d3f Greatly improve matching logic for tmdb if Plex does not provide id 2020-12-18 15:35:20 +01:00
croneter
1207ab485c Fix rare KeyError: None when trying to sync the playlist 2020-12-17 17:33:55 +01:00
croneter
71ebdc1e90 Fix high transcoding resolutions not being available for Win10 2020-12-17 17:05:24 +01:00
croneter
4c2fe6dd59 Fix rare playback progress report failing and KeyError: u'containerKey' 2020-12-17 16:59:19 +01:00
croneter
e551a9451a Fix TypeError when canceling Plex sync section dialog 2020-11-06 15:57:24 +01:00
croneter
8ae6a8df48 Merge branch 'beta-version' into fix_freeze 2020-11-05 16:15:39 +01:00
croneter
5d67d4a602 Support metadata provider ids (e.g. IMDB) for new Plex Movie Agent 2020-11-05 15:47:04 +01:00
croneter
ca64d54b4e Fix freeze: Don't assign multiple sets/collections for a specific movie 2020-11-01 16:10:44 +01:00
croneter
249c0993e2
Merge pull request #1215 from croneter/fix-subtitle-download
Fix playback failing due to caching of subtitles with non-ascii chars
2020-09-19 20:45:21 +02:00
croneter
b50414ebd4
Merge pull request #1214 from croneter/fix-ValueError
Fix ValueError: invalid literal for int() with base 10 during show sync
2020-09-19 20:44:44 +02:00
croneter
4f9f7bc7c9 Fix playback failing due to caching of subtitles with non-ascii chars 2020-09-19 15:21:02 +02:00
croneter
06cc2b6cde Fix ValueError: invalid literal for int() with base 10 during show sync 2020-09-19 14:40:00 +02:00
croneter
61e4056a13 Fix UnboundLocalError when certain Plex sections are deleted or un-synced 2020-07-29 17:42:04 +02:00
croneter
ccb7fa3e44 Fix regression: sync dialog not showing up when it should 2020-06-09 17:09:12 +02:00
croneter
07e13e0985
Merge pull request #1188 from croneter/fix-dialog
Fix sync dialog showing in certain cases even though user opted out
2020-06-09 12:07:09 +02:00
croneter
f1a4ef35c5
Merge pull request #1187 from croneter/fix-content-type
Fix Kodi content type for images/photos
2020-06-09 12:06:54 +02:00
croneter
20c7ca0d05
Merge pull request #1186 from croneter/fix-spaces
Revert "Don't allow spaces in devicename"
2020-06-09 12:06:40 +02:00
croneter
9c1a753fa9
Merge pull request #1185 from croneter/fix-users
Fix PKC shutdown on Kodi profile switch
2020-06-09 12:06:26 +02:00
croneter
92411bcb7b Fix sync dialog showing in certain cases even though user opted out 2020-06-09 12:04:48 +02:00
croneter
9d97d2b788 Fix Kodi content type for images/photos 2020-06-09 11:25:52 +02:00
croneter
075b28aa51 Revert "Don't allow spaces in devicename"
This reverts commit 2e5249ca4f.
2020-06-09 09:57:21 +02:00
croneter
f747086957 Migration: make sure user needs to sign in again after PKC update 2020-06-09 09:54:47 +02:00
croneter
da671c8ee5 Do not instantiate xbmc.Monitor() if possible (guess this leads to issues if we should shut down) 2020-06-09 09:37:18 +02:00
croneter
97c3239657 Explicitly delete xbmc.Monitor() and xbmc.Player() 2020-06-09 09:36:34 +02:00
croneter
28500d2cdf Correctly detect PKC shutdown and ensure that a PKC instance is always running (guess invoking xbmc.Monitor() while we should shut down did not help) 2020-06-09 09:36:10 +02:00
geropan
97078fda2c Addressed line too long issues. 2020-06-07 18:58:46 +01:00
geropan
2ce1a6e639 Added support for custom set of safe characters (configured via addon settings) when escaping paths using direct paths for http(s), dav(s) and (s)ftp urls. 2020-06-07 18:27:20 +01:00
croneter
50888c445c
Merge pull request #1173 from croneter/fix-websocket
Fix websocket threads; enable PKC background sync for all Plex Home users!
2020-05-07 14:06:54 +02:00
croneter
c7480339cd
Merge pull request #1169 from croneter/fix-external-player
Fix PKC incorrectly marking a video as unwatched if an external player has been used
2020-05-07 14:06:38 +02:00
croneter
e9218bf311 Enable PKC background sync for all Plex Home users! 2020-05-07 13:56:13 +02:00
croneter
c34f43cead Fix websocket threads not getting suspended correctly 2020-05-07 13:56:13 +02:00
croneter
5ffcd5782d Optimize some websocket code 2020-05-07 13:56:13 +02:00
croneter
54a147da41 Revert "Rewire suspension of waking up of websocket threads"
This reverts commit dccd3e512b.
2020-05-07 07:27:30 +02:00
croneter
dccd3e512b Rewire suspension of waking up of websocket threads 2020-05-07 07:26:03 +02:00
croneter
92a28b6eda Replace depricated xbmc.abortRequested 2020-05-05 18:18:34 +02:00
croneter
188dcf2cc1 Fix PKC incorrectly watching a video as unwatched if an external player was used 2020-05-03 09:36:01 +02:00
croneter
7ff40ee9cc Update translations 2020-05-02 13:20:31 +02:00
croneter
791a31bb65 Fix PKC crashing on devices running Microsoft UWP, e.g. XBox 2020-03-25 16:28:20 +01:00
croneter
0a9ac40cf0
Merge pull request #1148 from croneter/fix-queue
Fix rare sync crash when queue was full
2020-03-21 14:31:09 +01:00
croneter
db48ffb419 Fix rare sync crash when queue was full 2020-03-21 14:22:43 +01:00
croneter
1ff487d649 Set "Auto-adjust transcoding quality" to false by default 2020-03-19 07:49:47 +01:00
croneter
403c34826c Fix another TypeError: 'NoneType' object has no attribute '__getitem__' 2020-03-03 11:34:54 +01:00
croneter
cd6a0f6fe4 Fix TypeError: 'NoneType' object has no attribute '__getitem__' 2020-03-01 13:41:23 +01:00
croneter
f573a29d37 Ensure we resync all Plex playlists to Kodi when updating PKC 2020-02-27 16:38:53 +01:00
croneter
25f972f30f Refactor direct and add-on paths. Enables use of Plex music playlists synched to Kodi 2020-02-27 16:29:08 +01:00
croneter
6a7ca3c4d1 Rewire the set-up of audio and subtitle streams, esp. before starting a transcoding session 2020-02-25 18:19:08 +01:00
croneter
f524674b68 Increase logging 2020-02-25 18:19:08 +01:00
croneter
cc44c72cd6 Increase logging 2020-02-25 18:19:08 +01:00
croneter
41aef50463 Fix regression: burn-in subtitles picking up the last user setting instead of the current one 2020-02-23 17:21:09 +01:00
croneter
872c313092
Merge pull request #1125 from croneter/fix-sub-dialog
When transcoding, only let user choose to burn-in subtitles that can't be displayed otherwise by Kodi
2020-02-23 16:34:41 +01:00
croneter
87cff3557d
Merge pull request #1124 from croneter/add-info
Ensure that our only video transcoding target is h264
2020-02-23 16:34:17 +01:00
croneter
98f983a830 Fix adjusted subtitle size not working when burning in subtitles 2020-02-23 16:30:25 +01:00
croneter
a1d32447ba
Merge pull request #1122 from croneter/fix-transcoding
Fix PKC not burning in (and thus not showing) subtitles when transcoding
2020-02-23 16:27:51 +01:00
croneter
9abca33a53 Update translations 2020-02-23 15:50:17 +01:00
croneter
1021c47b04 When transcoding, only let user choose to burn-in subtitles that can't be displayed otherwise by Kodi 2020-02-23 15:31:37 +01:00
croneter
690d0ce459 Don't transcode subtitles to .ass when burning in 2020-02-23 14:45:10 +01:00
croneter
f2fa3bfc41 Ensure that our only video transcoding target is h264 2020-02-23 14:43:03 +01:00
croneter
ddf4999caa Fix PKC not burning in (and thus not showing) subtitles when transcoding 2020-02-23 14:39:13 +01:00
croneter
cad5923546 Improve logic to connect to local PMS via plex.direct redirect 2020-02-21 09:12:59 +01:00
croneter
83598ff3f1 Fix PKC auto-connecting to a local PMS 2020-02-21 08:40:41 +01:00
croneter
a1bda39e9d Correctly detect whether we can use SSL to connect to the PMS 2020-02-21 08:22:09 +01:00
croneter
a67d39609e Get rid of obsolete code 2020-02-17 19:15:06 +01:00
croneter
64af58172b Fix yet another rare but annoying bug where PKC becomes unresponsive during sync 2020-02-17 19:15:06 +01:00
croneter
b56d67d3fa
Merge pull request #1115 from croneter/fix-websockets
Fix PKC background sync not working in some cases
2020-02-15 18:45:59 +01:00
croneter
6f553e5c94 Fix PKC background sync not working in some cases 2020-02-15 18:40:14 +01:00
croneter
51d1538f95 Rewire the ProcessingQueue to ensure that we can exhaust it completely and don't get stuck 2020-02-15 17:47:17 +01:00
croneter
73ffb706f8 Make sure we're receiving valid item from the processing queue in case we should be aborting sync 2020-02-15 17:47:17 +01:00
croneter
a4a0b075bf Increase logging for the number of items we actually process 2020-02-15 17:47:17 +01:00
croneter
9a0ce533ee Rename method 2020-02-15 17:47:17 +01:00
croneter
ddd356deda Refactor code 2020-02-15 17:47:16 +01:00
croneter
b69070275f Make sure OrdererQueue returns the correct queue size 2020-02-15 17:47:16 +01:00
croneter
d116bbdfe9 Rename method 2020-02-14 13:40:46 +01:00
croneter
25172c2f57 Other Kodi add-ons can now search for Plex items using plugin://plugin.video.plexkodiconnect?mode=search&query=<your search string here> 2020-02-02 14:09:10 +01:00
croneter
23ac39a860 Fix DirectPaths when a video's folder name is identical to a video's filename (you will need to manually reset the Kodi database) 2020-01-31 21:12:48 +01:00
croneter
4a95b1007b
Merge pull request #1090 from croneter/improve-threader
Improve thread pool management to render PKC snappier
2019-12-20 14:18:23 +01:00
croneter
0255551ea9 Don't spin up 2 separate threads but use the thread pool 2019-12-20 14:17:49 +01:00
croneter
fe857cb609 Improve thread pool management to render PKC snappier 2019-12-20 14:17:49 +01:00
croneter
a1e6cdcf29 Attempt to fix broken pipe error 2019-12-15 07:36:50 +01:00
croneter
e8d601d7d7
Merge pull request #1086 from croneter/fix-thread
Fix PKC becoming unresponsive e.g. when switching the PMS
2019-12-13 16:55:08 +01:00
croneter
fd80bc9cf3
Merge pull request #1085 from croneter/optimize-db
Optimize the new sync process and fix some bugs that were introduced
2019-12-13 16:54:48 +01:00
croneter
b611a66ff5 Fix sync getting stuck 2019-12-13 14:00:46 +01:00
croneter
58a86d34f1 Clarify class description 2019-12-13 14:00:46 +01:00
croneter
6510d5e399 Fix display of item numbers during playstate sync 2019-12-13 14:00:46 +01:00
croneter
b55b22efb0 Clarify variables 2019-12-13 14:00:46 +01:00
croneter
136af95351 Speed up and simplify sync of playstates 2019-12-13 14:00:40 +01:00
croneter
654748218e Get section iterators in a dedicated thread to gain speed 2019-12-13 14:00:40 +01:00
croneter
0d537f108e Lower timeout for a DB connection from 30s to 10s 2019-12-13 14:00:40 +01:00
croneter
a715b3a473 raise exception instead of returning None if PKC needs to exit and we're trying to connect to a DB 2019-12-13 14:00:40 +01:00
croneter
b4e132af85 Optimize code 2019-12-13 14:00:40 +01:00
croneter
6d39adbd8c Use sqlite isolation_level=None in order to use autocommit mode and thus avoid sqlite auto-committing 2019-12-13 14:00:40 +01:00
croneter
70b7a44514 Avoid duplicate code 2019-12-13 14:00:39 +01:00
croneter
3000bfcd7d Always use sqlite WAL mode (did not switch back to normal journal mode automatically anyway) 2019-12-13 14:00:39 +01:00
croneter
9182e0ad76 Fix PKC becoming unresponsive e.g. when switching the PMS 2019-12-13 07:38:52 +01:00
croneter
ed3301a523 Fix PKC not starting up on iOS 2019-12-10 08:15:10 +01:00
croneter
baa33f19b1
Merge pull request #1082 from croneter/fix-operationalerror
Fix OperationalError when starting with a fresh PKC installation
2019-12-08 16:48:27 +01:00
croneter
59424b2a7c
Merge pull request #1081 from croneter/fix-user
Fix AttributeError if user enters an invalid pin code
2019-12-08 16:48:12 +01:00
croneter
80181873d1 Fix OperationalError when starting with a fresh PKC installation 2019-12-08 16:41:43 +01:00
croneter
f9755cc39c Fix AttributeError if user enters an invalid pin code 2019-12-08 16:33:08 +01:00
croneter
ab998f7941 Fix IndexError 2019-12-08 16:24:14 +01:00
croneter
4ebe11fcc4
Merge pull request #1079 from croneter/wal
Don't use WAL mode for sqlite connections, it is not making any difference
2019-12-08 10:32:03 +01:00
croneter
c3749c0bd2
Merge pull request #1078 from croneter/optimize-db
Optimize adding values to Kodi databases by not using sqlite COALESCE command
2019-12-08 10:31:47 +01:00
croneter
9080ca89b9 Don't use WAL mode for sqlite connections, it is not making any difference 2019-12-08 10:23:50 +01:00
croneter
e257e5426e Optimize adding values to Kodi databases by not using sqlite COALESCE command 2019-12-08 10:23:01 +01:00
croneter
2744b9da7e Copy entire plex.db to avoid db-locks entirely 2019-12-08 10:09:57 +01:00
croneter
a87dfa0a7a Don't use a dedicated thread to get section generators 2019-12-08 10:09:57 +01:00
croneter
8f86f43a93 Rewire library sync to speed it up and fix sync getting stuck in rare cases 2019-12-08 10:09:56 +01:00
croneter
f4ea051c81
Merge pull request #1073 from croneter/fix-userswitch
Optimize threads by using events instead of a polling mechanism. Fixes PKC becoming unresponsive, e.g. when switching users
2019-11-30 16:27:06 +01:00
croneter
343fce2102
Merge pull request #1072 from croneter/fix-bool
Make sure bool is returned instead of an int
2019-11-30 16:26:50 +01:00
croneter
aad68340cf
Merge pull request #1069 from croneter/fix-operationalerror
Fix OperationalError when resetting PKC
2019-11-30 16:26:36 +01:00
croneter
c85e1e2bd0 Optimize threads by using events instead of a polling mechanism. Fixes PKC become unresponsive, e.g. when switching users 2019-11-30 13:48:51 +01:00
croneter
e01e50a650 Make sure bool is returned instead of an int 2019-11-30 13:46:08 +01:00
croneter
56324b1e88 Fix OperationalError when resetting PKC 2019-11-25 08:03:06 +01:00
croneter
bafd3545f4 Improve sync resiliance when certain items are not to be synced to Kodi 2019-11-24 14:58:39 +01:00
croneter
e52b67c3a9 Fix to correctly wipe Kodi databases 2019-11-15 13:38:41 +01:00
croneter
2446cdc41a
Merge pull request #1062 from croneter/faster-server-list
Check faster for available Plex Media Server to connect to
2019-11-14 17:36:47 +01:00
croneter
999743c6c1 Check faster for available Plex Media Server to connect to 2019-11-14 17:34:50 +01:00
croneter
5273e874e0
Merge pull request #1060 from croneter/fix-keyerror
Fix KeyError when using Plex search capabilities
2019-11-14 17:21:42 +01:00
croneter
aff0fd7a5f
Merge pull request #1059 from croneter/fix-regex
Fix a couple of issues with music when using direct paths: correctly escape music paths for Kodi regex matching
2019-11-14 17:21:13 +01:00
croneter
8e72033aef
Merge pull request #1058 from croneter/fix-locked-db
Fix database being locked in rare cases
2019-11-14 17:20:48 +01:00
croneter
24ec8dd8e4
Merge pull request #1057 from croneter/increase-batch
Increase batch size for library sync from 500 to 2000 to increase sync speed
2019-11-14 17:20:24 +01:00
croneter
1654c3175e
Merge pull request #1056 from croneter/optimize
Optimize some code
2019-11-14 17:20:06 +01:00
croneter
2359430260 Fix KeyError when using Plex search capabilities 2019-11-14 16:11:07 +01:00
croneter
e17d9bf1dd Fix a couple of issues with music when using direct paths: escape the path for Kodi regex matching 2019-11-14 15:44:29 +01:00
croneter
3b8f712289 Fix database being locked in rare cases 2019-11-14 14:39:07 +01:00