Commit graph

4293 commits

Author SHA1 Message Date
croneter
0e6ca0d290 Add some additional exif picture metadata to listitems. But Kodi skins do not seem to be using that info, unfortunately 2021-01-24 16:35:27 +01:00
croneter
dd70170caa Fix pictures from Plex picture libraries not working/displaying 2021-01-24 15:01:55 +01:00
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