Commit graph

4291 commits

Author SHA1 Message Date
croneter
9d02e19a68 Optimize capitalization 2021-01-24 14:53:43 +01:00
croneter
3825072c5e Alter Plex DB table movie on PKC update to sync TMDB trailers 2021-01-20 17:17:43 +01:00
croneter
c1727e2b5b Look for missing trailers using TMDB 2021-01-20 17:17:43 +01:00
croneter
8fe72d281f
Merge pull request #1265 from Nyaran/feature/py39_thread_is_alive
Change `thread.isAlive` to `thread.is_alive`
2021-01-09 17:46:03 +01:00
croneter
83bb5a54c1
Merge pull request #1272 from croneter/fix-sets
Fix missing Kodi tags for movie collections/sets
2021-01-09 17:45:36 +01:00
croneter
d97a7fdb44 Fix missing Kodi tags for movie collections/sets 2021-01-09 17:31:29 +01:00
croneter
baa2b17615 Fix PKC using main user's token if PMS address changes 2021-01-09 17:25:18 +01:00
croneter
8d34e66764 Improve some code 2021-01-09 17:25:12 +01:00
croneter
a9a4d43cb2 Improve logic when writing credentials to settings file 2021-01-09 17:24:16 +01:00
Nyaran
48034d60ed
Change thread.isAlive to thread.is_alive 2021-01-05 14:11:27 +01:00
croneter
fd001fa496 Fix AttributeError: module has no attribute try_decode 2021-01-03 13:56:08 +01:00
croneter
390a832887 Fix rare KeyError when using PKC widgets 2021-01-02 13:31:50 +01:00
croneter
b7bc919608 Fix docstrings 2020-12-27 17:31:08 +01:00
croneter
a77c6b81f7 Remove some obsolete imports 2020-12-27 17:29:01 +01:00
croneter
6fa19e3495 Remove some obsolete code for Kodi Krypton 2020-12-27 17:22:23 +01:00
croneter
b4a7a9ec41 Fix function arguments 2020-12-27 17:22:23 +01:00
croneter
5e4cfdef52 Fix docstring 2020-12-27 17:22:22 +01:00
croneter
427fc47e7a Remove obsolete imports 2020-12-27 17:22:22 +01:00
croneter
8f5c64b33e Simplify code 2020-12-27 17:22:16 +01:00
croneter
4cf7c753e0 Remove obsolete function in utils.py 2020-12-27 17:22:16 +01:00
croneter
1f2b19ce42 Cleanup save handling of xml.etree.ElementTree 2020-12-27 17:22:15 +01:00
croneter
0dda58ebd3 Fix utils.py imports 2020-12-27 17:22:15 +01:00
croneter
dc2967c8da Add logic to safely enable the Kodi webserver for artwork caching 2020-12-27 17:22:15 +01:00
croneter
3bfe05c5bb Fix suspension of artwork caching 2020-12-27 17:22:15 +01:00
croneter
9c975cfe24 Fix playlist sync: __bool__ returning str instead of bool 2020-12-27 17:22:15 +01:00
croneter
193778f0f4 Fix hashing for playlists 2020-12-27 17:22:15 +01:00
croneter
88a84672c3 Remove encoding and decoding of filepaths 2020-12-27 17:22:14 +01:00
croneter
5c81c15cfd Fix resume not working 2020-12-27 17:22:14 +01:00
croneter
2ef95b1480 Music: include bitrate for songs (channels + sampling rate won't work yet due to Plex not listing this info for an album's children) 2020-12-27 17:22:14 +01:00
croneter
f4923eda22 Music: sync kodi_type for albums additionally 2020-12-27 16:06:17 +01:00
croneter
4da58d72dd Music: do not sync obsolete artwork 2020-12-27 16:06:17 +01:00
croneter
4b9fda9e81 Music: replace songs's year with release date 2020-12-27 16:06:17 +01:00
croneter
71d0cccdaa Fix lookup including year (iyear) 2020-12-27 16:06:17 +01:00
croneter
b5093eb6be Music: replace album's year with release date 2020-12-27 16:06:17 +01:00
croneter
09b2c54675 Remove Music sync code for older Kodi version before Kodi Matrix 2020-12-27 16:06:17 +01:00
croneter
bd8af8652e Music: remove sync of artist fanart 2020-12-27 16:06:16 +01:00
croneter
da66c62f81 Fix check of exception value 2020-12-27 16:06:16 +01:00
croneter
cc20464c15 Fix backgroundthreads and TypeError '<' not supported between instances 2020-12-27 16:06:16 +01:00
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
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
791a31bb65 Fix PKC crashing on devices running Microsoft UWP, e.g. XBox 2020-03-25 16:28:20 +01:00
croneter
db48ffb419 Fix rare sync crash when queue was full 2020-03-21 14:22:43 +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
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