Commit graph

4114 commits

Author SHA1 Message Date
croneter
33cae69cc4 Fix PKC not starting due to a higher version Kodi database 2019-02-24 11:19:35 +01:00
croneter
36c78b0d6e Fix PKC trying to initialize playqueues over and over again 2019-02-23 08:53:37 +01:00
croneter
a9ff70fac7 Fix PKC not exiting correctly due to a call to xbmc.getCondVisibility 2019-02-22 08:11:58 +01:00
croneter
fa9ca95e2e Remove obsolete check for Kodi profile switch 2019-02-21 09:15:29 +01:00
croneter
2c12f2e705 Update to new style Python class 2019-02-21 08:47:52 +01:00
croneter
3c9eb71324 Fix websocket threads not exiting correctly 2019-02-21 08:47:36 +01:00
croneter
78def504bc
Merge pull request #732 from croneter/fix-typeerror
Fix rare TypeError: unsupported operand type(s) for /: 'NoneType' and 'int' on playback startup
2019-02-16 19:05:50 +01:00
croneter
2942300f10
Merge pull request #731 from croneter/improve-db
Improve plex db lookups by creating better db indicees
2019-02-16 19:05:36 +01:00
croneter
4a83aae573 Fix TypeError: unsupported operand type(s) for /: 'NoneType' and 'int' 2019-02-16 17:59:03 +01:00
croneter
056150a2da Improve plex db lookups by creating better db indicees 2019-02-16 14:05:09 +01:00
croneter
823f6b6e3f Fix KeyError: u'kodi_type' 2019-02-16 12:17:56 +01:00
croneter
94da14744d Fix PKC crashing on recreating the database 2019-02-08 15:33:29 +01:00
croneter
d8aada43a6
Merge pull request #714 from croneter/version-bump
Beta version bump 2.6.8
2019-02-08 15:20:25 +01:00
croneter
a9bfae2b13
Merge pull request #715 from croneter/codacy
Implement Codacy suggestions
2019-02-08 15:20:11 +01:00
croneter
7a0b9c8fca
Merge pull request #713 from croneter/fix-collections
Fix processing of collections in special cases
2019-02-08 15:20:00 +01:00
croneter
80f3542737
Merge pull request #712 from croneter/fix-videos-disappearing
Fix movies or shows disappearing in fringe cases
2019-02-08 15:19:50 +01:00
croneter
da1cb6e3d7
Merge pull request #717 from croneter/fix-playlists
Fix rare case where thousands of identical playlists could be generated
2019-02-08 15:19:37 +01:00
croneter
a0d6674f7e
Merge pull request #711 from croneter/fix-unresponsive
Fix PKC becoming unresponsive
2019-02-08 15:19:23 +01:00
croneter
d617535a05 Beta version bump 2.6.8 2019-02-08 15:18:41 +01:00
croneter
873c9e74f5 Fix rare case where thousands of identical playlists could be generated 2019-02-08 15:15:52 +01:00
croneter
e6cd80a7dd Implement Codacy suggestions 2019-02-08 13:52:33 +01:00
croneter
1a1e4b113d Prompt user to select libraries to sync upon changing PMS 2019-02-08 13:24:14 +01:00
croneter
50d770718d Choose which Plex libraries PKC should sync 2019-02-08 13:24:14 +01:00
croneter
6447281404 Fix processing of collections in special cases 2019-02-08 13:02:55 +01:00
croneter
f98e2df42f Fix movies or shows disappearing in fringe cases 2019-02-08 13:01:10 +01:00
croneter
cd728b4c32 Fix PKC becoming unresponsive 2019-02-08 12:59:12 +01:00
croneter
3b18a92ab4 Fix PKC becoming unresponsive 2019-02-08 12:58:53 +01:00
croneter
05a6700d55
Merge pull request #708 from croneter/improve-playerror-messages
Improve error messages when playback failes
2019-02-06 16:16:09 +01:00
croneter
c7eab63960 Improve error message when playback failes 2019-02-06 16:14:14 +01:00
croneter
1787e51c7c Zentrally register threads and introduce a way to wait for their suspension 2019-02-06 14:19:10 +01:00
croneter
63201db07d
Merge pull request #707 from croneter/version-bump
Beta version bump 2.6.6
2019-02-05 18:59:53 +01:00
croneter
d8796a174e
Merge pull request #706 from croneter/fix-pms-logs
Optimize headers for communication with PMS to appear like a Plex Media Player
2019-02-05 18:59:43 +01:00
croneter
6bf0cf4894
Merge pull request #705 from croneter/improve-sync-dialog
Improve sync dialog
2019-02-05 18:59:28 +01:00
croneter
950a2de0f5
Merge pull request #704 from croneter/fix-slow-sync
Greatly speed up sync for episodes, especially for large libraries
2019-02-05 18:59:16 +01:00
croneter
74dc249a37 Enforce database reset 2019-02-05 18:57:50 +01:00
croneter
9208cf2cb3 Optimize headers for communication with PMS to appear like PMP 2019-02-05 18:52:10 +01:00
croneter
01c0c36244 Increase batch size for playstates by a factor 10 2019-02-05 16:54:40 +01:00
croneter
ca16f73637 Make sure we're not showing an item's title while synching playstate 2019-02-05 15:48:24 +01:00
croneter
4786372490 Improve sync dialog for Estuary by switching item's title and sync count 2019-02-05 15:48:02 +01:00
croneter
2234e49cf8 Greatly speed up episode sync for large libraries 2019-02-05 15:32:50 +01:00
croneter
e65c9d6c94 Increase sync processing batch size from 200 to 500 2019-02-05 13:21:08 +01:00
croneter
0e16eb703a Do not allow insecure HTTPS websocket connections for Kodi Leia in any case 2019-02-05 13:10:00 +01:00
croneter
7b21caceae Allow websocket redirects 2019-02-05 13:09:59 +01:00
croneter
bf6e52bf20
Merge pull request #698 from croneter/improve-logging
Improve logging
2019-02-04 16:23:49 +01:00
croneter
76004f1aa6 Improve logging 2019-02-04 16:15:58 +01:00
croneter
20225f12b4 Fix extras not playing 2019-02-04 12:51:16 +01:00
croneter
033919d09b
Merge pull request #690 from croneter/fix-music
Fix music items getting deleted on startup
2019-02-03 20:31:53 +01:00
croneter
f90b470f5b Never ignore SSL certificate errors for Kodi >= 18 - just like Kodi 2019-02-03 20:28:50 +01:00
croneter
ae3f24f6ca
Merge pull request #687 from croneter/manual_ip
Improve dialog to manually enter PMS IP and port
2019-02-03 20:25:48 +01:00
croneter
a7222af648
Merge pull request #686 from croneter/fix-resume
Fix playback not starting at the beginning
2019-02-03 20:24:04 +01:00
croneter
2c77bd28af Implement Codacy suggestions 2019-02-03 20:22:41 +01:00
croneter
8f8ccd1daf Fix music items getting deleted on startup 2019-02-03 17:20:36 +01:00
croneter
01609e4d72 Better inform the user if problems arise with manual PMS IP input 2019-02-03 16:44:37 +01:00
croneter
1071d75857 Improve dialog to manually enter PMS IP and port 2019-02-03 10:53:19 +01:00
croneter
09c2ad1b80 Fix playback not starting at the beginning 2019-02-02 20:50:01 +01:00
croneter
6c8b17d7b8 Fix PKC crashing on Xbox 2019-02-02 15:58:07 +01:00
croneter
7f0abcee7d
Merge pull request #673 from croneter/pr_improve_dialogs
Improve pop-up "Searching for PMS"
2019-02-02 13:43:34 +01:00
croneter
cb97734cf9
Merge pull request #671 from croneter/pr_fix_futurewarning
Fix FutureWarning
2019-02-02 13:43:24 +01:00
croneter
0de47c7b3e
Merge pull request #670 from croneter/pr_attributeerror
Fix artwork caching AttributeError: 'ImageCachingThread' object has no attribute 'cancel'
2019-02-02 13:43:09 +01:00
croneter
10e6caf3cd
Merge pull request #669 from croneter/pr_fix_delete
Fix PKC not deleting all the items it should
2019-02-02 13:42:58 +01:00
croneter
1d17dd867c
Merge pull request #668 from croneter/pr_sequence_item
Fix playlist sync: sequence item 0: expected string or unicode
2019-02-02 13:39:47 +01:00
croneter
b858373aeb Also show a pop-up if PKC searches for changed PMS address on PKC startup 2019-02-02 13:24:31 +01:00
croneter
65fe1ed399 Show info pop-up "Searching for PMS" until PKC displays the results 2019-02-02 13:02:45 +01:00
croneter
fb9c560ccd Fix FutureWarning 2019-02-02 11:34:16 +01:00
croneter
996adc2c03 Fix artwork caching AttributeError 2019-02-02 11:30:03 +01:00
croneter
3a9fcacd5c Fix PKC not deleting all the items it should 2019-02-02 11:24:55 +01:00
croneter
d09d2e6aaf Fix playlist sync: sequence item 0: expected string or unicode 2019-02-02 10:53:10 +01:00
croneter
fdbe42a05a Fix keyError sessionKey for weird PMS messages 2019-02-02 10:42:57 +01:00
croneter
dfeba07ab6
Merge pull request #648 from croneter/user_fix
Fix TV sections not being deleted e.g. after user switch
2019-01-30 18:27:12 +01:00
croneter
5f72d50ed0
Merge pull request #647 from croneter/less_dialogs
Don't show a library sync error pop-up when full sync is interrupted
2019-01-30 18:23:46 +01:00
croneter
c388789fbd Add error notification is full sync is unsuccessful 2019-01-30 18:05:28 +01:00
croneter
4e10a9da8b Force database reset 2019-01-30 17:40:20 +01:00
croneter
8cb4e5f8fc Fix to cleanly delete all songs and albums 2019-01-30 15:54:19 +01:00
croneter
624fe87fd1 Fix to cleanly delete all episodes and seasons 2019-01-30 15:54:19 +01:00
croneter
a279cf5198 Fix deleting entire Plex library sections
Typo plex_type - section_type
2019-01-30 15:54:13 +01:00
croneter
dcff85e203 Fix TV sections not being deleted e.g. after user switch 2019-01-30 10:58:20 +01:00
croneter
5298370413 Don't show an error pop-up if full sync is interrupted 2019-01-30 09:34:38 +01:00
croneter
5f1241adde Fix to correctly escape paths 2019-01-29 13:52:23 +01:00
croneter
b5d0e4f428
Merge pull request #640 from croneter/fix_kodi_fileid
Fix KeyError: u'kodi_fileid' for some Plex websocket messages
2019-01-29 08:27:05 +01:00
croneter
3450bc5294 Don't lock Plex DB when processing websocket messages 2019-01-29 08:09:42 +01:00
croneter
91fe4f827d Fix KeyError: u'kodi_fileid' for some Plex websocket messages 2019-01-29 08:05:15 +01:00
croneter
0278e16de0
Merge pull request #635 from croneter/fix_slow_playback_startup
Hopefully fix slow playback startup just after Kodi startup
2019-01-28 20:22:05 +01:00
croneter
9ec9278888
Merge pull request #633 from croneter/revamp_direct_paths
Better, safer way to enter network credentials for Direct Paths
2019-01-28 20:21:48 +01:00
croneter
77ca3c428e
Merge pull request #632 from croneter/path_exists
Fix check whether a direct path is accessible
2019-01-28 20:21:38 +01:00
croneter
ee805301a3
Merge pull request #630 from croneter/operationalerror
Fix OperationalError: no such table on database reset
2019-01-28 20:21:25 +01:00
croneter
06964fab7d
Merge pull request #627 from croneter/missing_items
Fix 'NoneType' object has no attribute 'execute' when Plex artwork is not synced and an item is deleted
2019-01-28 20:21:14 +01:00
croneter
96db37c588
Merge pull request #626 from croneter/optimize_logging
Log whether Plex artwork is synced to Kodi
2019-01-28 20:21:03 +01:00
croneter
652a43e05c Reduce batch size for processing playstate to 10% 2019-01-28 18:11:44 +01:00
croneter
e04c74392f Don't lock DBs when messing with the playqueue 2019-01-28 18:05:40 +01:00
croneter
cffebf2f65 Better, safer dialogs to enter network credentials 2019-01-28 14:43:58 +01:00
croneter
4be8b3da9b Add comment about need to have sources.xml and passwords.xml set-up 2019-01-28 09:23:10 +01:00
croneter
25aacc8495 Fix check whether a file exists 2019-01-28 09:22:36 +01:00
croneter
a3d2c5530c Fix OperationalError: no such table on database reset 2019-01-27 13:31:59 +01:00
croneter
aa2b1e5e15 Always open a connection to the Kodi texture DB 2019-01-27 09:27:12 +01:00
croneter
4779f3e994 Log whether Plex artwork is synced to Kodi 2019-01-27 08:33:15 +01:00
croneter
352402bc35 Revert "Refresh Kodi view only once on full syncs"
This reverts commit b86a6549ac.
2019-01-26 17:18:48 +01:00
croneter
69cb09e009 Replace cPickle communication with JSON 2019-01-26 08:43:51 +01:00
croneter
211d3d6a5a Revert "Use highes available protocol for cPickle"
This reverts commit 32d8083b60.
2019-01-25 17:30:03 +01:00
croneter
2ee3d86c27 Revert "Don't use class attributes for cPickle"
This reverts commit e181b4cac2.
2019-01-25 17:29:59 +01:00
croneter
32d8083b60 Use highes available protocol for cPickle 2019-01-25 15:43:45 +01:00
croneter
e181b4cac2 Don't use class attributes for cPickle
See https://docs.python.org/2/library/pickle.html#what-can-be-pickled-and-unpickled
2019-01-25 15:43:17 +01:00
croneter
5de91ff9b5 Fix KodiVideoDB object has no attribute kodiconn
- Partially fixes #593
- Fixes #614
2019-01-23 10:00:49 +01:00
croneter
d6246a1cab Fix local variable 'set_api' referenced before assignment 2019-01-22 08:52:04 +01:00
croneter
9e6b841296 Begin a new transaction when database was locked
- Hopefully fixes #593
2019-01-19 17:53:35 +01:00
croneter
7527f38c3f Revert "Wait even longer to try to write to Kodi DB"
This reverts commit 9f0d0026e6.
2019-01-19 17:12:45 +01:00
croneter
f821134ed3 Add link for more sqlite info 2019-01-19 17:06:52 +01:00
croneter
5b5af1ceed Fix browsing to show from info dialog
- Fixes #603
- Increases dependency on plugin.video.plexkodiconnect.tvshows to 2.0.8
2019-01-19 16:56:10 +01:00
croneter
9f0d0026e6 Wait even longer to try to write to Kodi DB
- Hopefully fixes #593
2019-01-19 09:35:32 +01:00
croneter
04da3572cb Fix rare KeyError if user is playing something somewhere else 2019-01-19 09:22:00 +01:00
croneter
5f79e944ab Fix browsing to show from info dialog 2019-01-17 20:33:46 +01:00
croneter
5dd346b657 Fix crash on startup-sync due to missing albums 2019-01-17 19:58:07 +01:00
croneter
e4af13bbd5 Try even longer to write to Kodi database
- Partially fixes #593
2019-01-17 19:30:55 +01:00
croneter
3b9fce7470 Fix some items rarely not being synced 2019-01-17 18:05:02 +01:00
croneter
889b6094d9 Ignore playstate updates for full sync time stamps croneter committed 2019-01-17 17:49:00 +01:00
croneter
b86a6549ac Refresh Kodi view only once on full syncs 2019-01-17 17:36:26 +01:00
croneter
3e3aa49d0d Fix playback start: Don't lock databases when starting playback
- Partially fixes #599
2019-01-16 17:13:23 +01:00
croneter
e255958b57 Fix playback not starting for really large libraries
- Partially fixes #599
2019-01-14 18:22:31 +01:00
croneter
4d17a9747f Fix KeyError due to malformed PMS messages
- Fixes #604
2019-01-13 17:57:48 +01:00
croneter
ce82725116 Further increase database sync resiliance
- Partially fixes #593
2019-01-13 14:51:48 +01:00
croneter
73bad8fa05 Increase number of attempts to write to Kodi DB
- Partially fixes #593
2019-01-13 14:29:35 +01:00
croneter
5a3ad09a04 Support for Kodi 18 Leia RC 5.2 2019-01-13 13:42:03 +01:00
croneter
1fccd23c4f Make PKC potentially compatible with several database schemas 2019-01-13 13:41:22 +01:00
croneter
0f289393c1 Fix rare OperationalError: Locked Database
- Partially fixes #593
2019-01-11 21:41:11 +01:00
croneter
251263eec7 Revert "Log locking of DB"
This reverts commit f5d98d66d4.
2019-01-08 20:14:48 +01:00
croneter
f5d98d66d4 Log locking of DB 2019-01-08 18:47:58 +01:00
croneter
2d19cd4d63 Fix playback not starting up
- Fixes #595
2019-01-08 18:46:45 +01:00
croneter
e590968d52 Fix Plex channels and watch later not working 2019-01-05 08:48:16 +01:00
croneter
b8ebed35f4 Beta version bump 2.5.12 2019-01-04 20:41:42 +01:00
croneter
262a2dda21 New option to not use Plex artwork 2019-01-04 20:38:45 +01:00
croneter
3d4ba1e165 Increase database resiliance with sqlite WAL mode 2019-01-04 18:02:58 +01:00
croneter
1f35caba54 Add-on paths: Fix resume if playback not initiated with PKC 2019-01-04 14:39:33 +01:00
croneter
bd192e4b6a Direct Paths: Fix AttributeError for widgets
- Fixes #588
2019-01-01 16:53:50 +01:00
croneter
70632f1749 Enable Plex Hub listings to be used for widgets
- Fixes #585
2019-01-01 13:19:26 +01:00
croneter
56331bead5 Finally fix deleteting of items from PMS not working
- Fixes #587
2019-01-01 13:00:30 +01:00
croneter
0f95889b75 Revert "Increase database timeouts"
This reverts commit 74e8d1cc0f.
2019-01-01 12:51:38 +01:00
croneter
1ab9ff7790 Catch sqlite OperationalError for websocket messages
- Hopefully fixes #580
2019-01-01 12:51:33 +01:00
croneter
74e8d1cc0f Increase database timeouts
- Partially fixes #580
2018-12-30 22:10:36 +01:00
croneter
e4cb07df68 Close DB connections while caching images
- Partially fixes #580
2018-12-30 21:30:08 +01:00
croneter
2dff87dc4b Leia: fix resetting of videoplayer autoplay next item
- Fixes #466
2018-12-29 16:57:46 +01:00
croneter
134b76cb09 Ensure path replacement never contains trailing (back)slash
- Fixes #563
2018-12-29 16:13:59 +01:00
croneter
122bc56c31 Don't store identical show artwork for seasons
- Fixes #540
2018-12-29 15:35:17 +01:00
croneter
769f093492 Improve logging for seasons 2018-12-29 15:15:56 +01:00
croneter
6aa1a09b56 Compatibility with Kodi 18 RC 4 2018-12-29 11:29:10 +01:00
croneter
dc369a0453 Remove obsolete code 2018-12-28 17:13:56 +01:00
croneter
6d8885fae9 Optimize code 2018-12-27 12:10:41 +01:00
croneter
a9cf7eb294 New setting to escape paths e.g. for HTTP direct paths
- Fixes #555
2018-12-27 12:08:18 +01:00
croneter
50686ae191 Fix database is locked
- Fixes #580
2018-12-25 19:12:49 +01:00
croneter
4ee828dfe9 Move function 2018-12-25 18:26:13 +01:00
croneter
6076da724b Fix video resuming from old resume point 2018-12-25 18:13:50 +01:00
croneter
4fb4643ac0 Add-on paths: don't fail playback with an empty video 2018-12-24 17:44:52 +01:00
croneter
a9f51f9ac4 Faster way to initialize playlists on the Plex side
- Partially fixes #578
2018-12-24 17:06:01 +01:00
croneter
323a4482e5 Improve logging 2018-12-24 13:19:40 +01:00
croneter
e9f49be7f3 Fix PKC recreating playlists too often 2018-12-23 13:01:50 +01:00
croneter
db6a7ba9b4 Shutdown playlist sync if necessary
- Partially fixes #578
2018-12-23 11:12:47 +01:00
croneter
6950a3d979 Increase logging 2018-12-23 10:20:28 +01:00
croneter
b0563f5dcc Beta version bump 2.5.7 2018-12-22 15:22:30 +01:00
croneter
6237d932d8 Improve Plex playQueue resiliance
- Partially fixes #566
2018-12-22 15:06:28 +01:00
croneter
16ff6a51f5 Increase database connection timeout when wiping 2018-12-22 14:33:52 +01:00
croneter
ff8bfd9523 Fix music DB not being wiped on database reset
- Fixes #575
2018-12-22 14:33:30 +01:00
croneter
79e4ff4509 Increase timeout for database connections
- Partially fixes #574
2018-12-22 14:20:56 +01:00
croneter
7966dd5ee4 Fix resume for episodes for add-on paths 2018-12-21 19:02:36 +01:00
croneter
512479e47e Fix movies not showing up on switching PMS 2018-12-21 17:22:30 +01:00
croneter
825237dfed Close sync dialog if video playback starts 2018-12-21 17:00:51 +01:00
croneter
519c9675ae Finish full syncs during playbacks, don't start new ones 2018-12-21 16:53:53 +01:00
croneter
3b3d671f37 Remove obsolete import 2018-12-21 16:48:57 +01:00
croneter
5cf52aa2a3 Fix not all songs being synced 2018-12-21 16:33:31 +01:00
croneter
9b9d2be53d Only marking full sync as successful if that is indeed the case 2018-12-21 16:27:59 +01:00
croneter
9087f27f2a Optimize code 2018-12-21 16:03:56 +01:00
croneter
9a5239ab1d Optimize code 2018-12-21 15:37:16 +01:00
croneter
8803d3353c Fix some very few items not being synced 2018-12-21 15:36:14 +01:00
croneter
bd1b0cc533 Optimize code 2018-12-21 15:18:19 +01:00
croneter
5d6b8f1273 Fix many items not getting synced 2018-12-21 15:18:06 +01:00
croneter
9682d7a313 Return None as timestamp instead of 1970 timestamp 2018-12-20 12:52:45 +01:00
croneter
4fbcdcac7f Fix episodes not being synced to due a missing season
- Partially fixes #566
2018-12-14 19:51:30 +01:00
croneter
48b08b4ba4 Fix ValueError during sync due to missing Plex timestamp 2018-12-14 19:38:34 +01:00
croneter
1c25441e99 Fix AttributeError when a playlist disappeared
- Should fix #568
2018-12-11 14:57:43 +01:00
croneter
1156a4efa1 Don't show sync messages while Kodi is playing something
- Fixes #570
2018-12-11 12:54:14 +01:00
croneter
b87ba4c753 Fix OperationalError and PKC not starting up 2018-12-10 20:32:59 +01:00
croneter
1a46664051 Fix permanent missing library items if PMS failed to send a single response 2018-12-10 20:00:48 +01:00
croneter
97d829779f Fix OperationalError: enforce Kodi restart with clean DB once
- Fixes #570
2018-12-10 19:51:17 +01:00
croneter
d2e0479225 Fix switching PMS not recognizing when old PMS is selected 2018-12-10 19:19:46 +01:00
croneter
e0fbccabc8 Fix PKC not automatically connecting to changed PMS IP on startup 2018-12-10 07:39:40 +01:00
croneter
6eb36f0560 Remove message "Full library sync finished" 2018-12-10 07:35:46 +01:00
croneter
74e801cf4d Remove cProfile program metrics measurements 2018-12-10 07:32:57 +01:00
croneter
edbb99b2e2 Fix a couple of issues related to episodes
- Hopefully fixes #566
2018-12-10 07:23:25 +01:00
croneter
d406843e78 Fix Plex sections not showing up or disappearing 2018-12-09 19:21:02 +01:00
croneter
3f173f9677 Force-Reboot Kodi immediately if sqlite PRAGMA WAL causes errors 2018-12-09 18:41:05 +01:00
croneter
22ea4a6a7c Fix FutureWarning 2018-12-09 18:38:15 +01:00
croneter
8ed61410ab Revert "Catch error if Kodi DB cannot be used in WAL mode"
This reverts commit e13273c5b8.
2018-12-09 17:48:42 +01:00
croneter
e13273c5b8 Catch error if Kodi DB cannot be used in WAL mode 2018-12-09 17:29:58 +01:00
croneter
07174a39f3 Revert "Catch error if Kodi DB cannot be used in WAL mode" 2018-12-09 17:28:45 +01:00
croneter
3a73b9de44 Fix AttributeError 2018-12-09 17:23:43 +01:00
croneter
f13950590e Increase database connection cache size 2018-12-09 17:19:16 +01:00
croneter
70cf483fe2 Do a Kodi library update after synching new/changed items 2018-12-09 16:16:26 +01:00
croneter
2baafa77bb Shut down download threads as soon as they're done 2018-12-09 16:15:37 +01:00
croneter
aeda4d97ba Remove obsolete code 2018-12-09 15:56:48 +01:00
croneter
adeeee7162 Fix wierd behavior upon switching to another PMS 2018-12-09 15:25:30 +01:00
croneter
1cc8cb7ad3 Force a full sync on switching Plex user 2018-12-09 14:36:13 +01:00
croneter
27d34167e9 Fix current sync progress for more than 2000 items 2018-12-09 14:23:01 +01:00
croneter
de90ab225f Revert "Do not cache artwork vor Kodi 18 Leia or later"
This reverts commit 9cc731e18f.
2018-12-09 14:16:33 +01:00
croneter
866412a720 Catch error if Kodi DB cannot be used in WAL mode 2018-12-09 14:00:26 +01:00
croneter
9cc731e18f Do not cache artwork vor Kodi 18 Leia or later
- Seems Kodi is doing a better job at it then PKC
- PKC caching could mess with Kodi threads trying to cache artwork that needs to show up immediately
2018-12-09 13:56:51 +01:00
croneter
c8405414d1 Add PKC settings status indication for caching 2018-12-09 13:52:26 +01:00
croneter
01bbaaa90a Replace annoying sync message with PKC settings info 2018-12-09 13:45:09 +01:00
croneter
dac7cdd47e Fix KeyError when synching playlists
- Should fix #568
2018-12-09 13:10:15 +01:00
croneter
4f750379f1 Fix ImportError for Plex Companion gdm issues
- Partially fixes #568
2018-12-09 13:07:36 +01:00
croneter
80414ea0d4 Optimize sqlite transactions 2018-12-09 13:04:27 +01:00
croneter
d33ba7e502 Rewire library sync 2018-12-09 13:02:08 +01:00
croneter
f6415ae444 Optimize code 2018-12-09 09:14:45 +01:00
croneter
1ab1f18e07 Fix PKC version being recorded several times
- Partially fixes #566
2018-12-03 07:59:25 +01:00
croneter
28e4561461 Fix OperationalError: near "WHERE": syntax error
- Partially fixes #566
2018-12-03 07:54:27 +01:00
croneter
1864adf151 Fix OSError on resetting the database 2018-12-02 17:46:35 +01:00
croneter
acc1b24480 Fix songs not appearing 2018-12-02 17:10:53 +01:00
croneter
260ff230c5 Don't check whether we need to delete "Artist" role for songs 2018-12-02 17:01:19 +01:00
croneter
64b8c522af Don't fill discography table for Kodi 18 2018-12-02 17:00:13 +01:00
croneter
f2ca67c418 Fix strMusicBrainzAlbumID 2018-12-02 16:32:36 +01:00
croneter
0400eec0c9 Fix iOrder of song_genre table being None instead of 0 2018-12-02 16:16:21 +01:00
croneter
a55c0c6ecb Add dateAdded for songs 2018-12-02 16:12:17 +01:00
croneter
59af1d09a3 Optimize code 2018-12-02 16:03:20 +01:00
croneter
8b3272aa7b Fix FutureWarning 2018-12-02 16:02:46 +01:00
croneter
89aa7bc1d9 Fix user select dialog not opening 2018-12-02 15:59:05 +01:00
croneter
b3b1d64484 Increase logging 2018-12-02 15:56:59 +01:00
croneter
f20341b983 Fix Plex.tv login not showing up upon installation 2018-12-02 15:52:49 +01:00
croneter
bb88c24e11 Increase logging 2018-12-02 15:46:15 +01:00
croneter
fb3f1d4669 Kodi 18: Ensure that we're setting music scan flag correctly upon boot
- Should fix #561
2018-12-02 15:25:54 +01:00
croneter
3c0bb49fbf Fix adding new album or artist to Plex in the background 2018-12-02 14:10:11 +01:00
croneter
e9f811f2cd Ignore PMS messages related to set/collections 2018-12-02 13:20:18 +01:00
croneter
2b3366923a Fix KeyError if a new set/collection is added to Plex 2018-12-02 13:19:13 +01:00
croneter
2e0d11a7bb Kodi 18: fix playback report for trailers 2018-12-02 11:11:24 +01:00
croneter
861af0f170 Further optimize sync speed 2018-12-02 10:13:27 +01:00
croneter
7fce226d47 Fix items getting deleted on subsequent sync 2018-12-01 18:50:52 +01:00
croneter
056463da55 Revert "Attempt to fix items getting deleted on second sync"
This reverts commit 459bd72299.
2018-12-01 18:43:47 +01:00
croneter
459bd72299 Attempt to fix items getting deleted on second sync 2018-12-01 18:43:42 +01:00
croneter
a776f940de Remove obsolete code 2018-12-01 16:52:22 +01:00
croneter
d972594553 Optimize DB access using transactions 2018-12-01 12:19:15 +01:00
croneter
07cf25b324 Get section overview xml asynchronously 2018-12-01 11:14:12 +01:00
croneter
41bbdbc206 Dedicated method for creating new actor 2018-12-01 11:09:59 +01:00
croneter
79785d0400 Fix FutureWarning 2018-12-01 09:13:23 +01:00
croneter
abfb386e13 Fix FutureWarning 2018-12-01 09:05:45 +01:00
croneter
024e0e5e09 Fix Typo 2018-11-30 08:05:23 +01:00
croneter
5b22cbcd52 Fix crash on switching Kodi profile
- Should fix #559
- Cannot use cElementTree with Kodi/XBMC reliably 😞
2018-11-28 09:13:38 +01:00
croneter
061dcb77e0 Revert "Catch cElementTree TypeError"
This reverts commit a10e3925d5.
2018-11-28 08:19:21 +01:00
croneter
a10e3925d5 Catch cElementTree TypeError
- Hopefully fixes #559
2018-11-26 20:44:36 +01:00
croneter
36d14ffdcf Optimize join() 2018-11-26 19:47:41 +01:00
croneter
9261a8b143 Increase queue size 2018-11-26 19:40:56 +01:00
croneter
ccdb76709e Fix OperationalError: Database is locked 2018-11-26 19:40:43 +01:00
croneter
0e335dd35e Fix MRO 2018-11-26 18:11:34 +01:00
croneter
55ec381bfe Fix sync not correctly being canceled 2018-11-26 17:58:15 +01:00
croneter
752a57c15e Fix OperationalError: no such table tvshows 2018-11-26 17:33:59 +01:00
croneter
4515559dff Fix AttributeError 2018-11-26 17:32:21 +01:00
croneter
a0e14ca2cb Fix TypeError 2018-11-26 17:23:35 +01:00
croneter
a7243d813d Force a full sync after manually changing PMS IP 2018-11-26 16:59:22 +01:00
croneter
0146c2e2b6 Force full sync on changing PMS 2018-11-26 16:58:25 +01:00
croneter
1f5eae8267 Fix PKC not connecting due to changed IP 2018-11-26 16:56:39 +01:00
croneter
27b2d4cbf2 Less logging 2018-11-26 16:17:03 +01:00
croneter
bd2c467183 Fix PKC crashing due to a restricted Python environment 2018-11-26 15:44:12 +01:00
croneter
6219ba6834 Fix TypeError 2018-11-26 07:58:12 +01:00
croneter
fa1dcdffaa Fix TypeErrors 2018-11-26 07:56:27 +01:00
croneter
b0a68b255e Fix NameError 2018-11-26 07:54:32 +01:00
croneter
a8fbcc6be4 Fix AttributeError 2018-11-26 07:50:38 +01:00
croneter
fada7f707f Move playback startup from thread to task 2018-11-26 07:48:45 +01:00
croneter
030c381f65 Ensure that only one thread accesses settings.xml
Avoids corruption of settings.xml
2018-11-26 07:35:19 +01:00
croneter
7d2f785a8d Move detection of context menu to main loop
- One thread less!
2018-11-26 07:31:36 +01:00
croneter
c4156cb865 Fix TypeError upon deactivating screensaver 2018-11-26 07:25:50 +01:00
croneter
a149d8de27 Fix widgets not receiving PKC information 2018-11-26 07:19:34 +01:00
croneter
0fe2de1705 Fix resetting of databases crashing 2018-11-25 21:07:25 +01:00
croneter
ded8a59dd7 Fix adding misisng artist on adding an album 2018-11-25 20:57:16 +01:00
croneter
202d33d7c0 Fix video library sometimes not updating 2018-11-25 20:36:54 +01:00
croneter
2ceb0cd7a2 Fix sync error when only an item is deleted in section 2018-11-25 20:31:40 +01:00
croneter
69e65f5ca6 Fix KeyError 2018-11-25 20:28:22 +01:00
croneter
697b66167c Fix deleting entire library sections 2018-11-25 20:15:38 +01:00
croneter
90e13cb8ee Fix TypeError upon removing entire section 2018-11-25 19:53:42 +01:00
croneter
67807d3eb7 Remove obsolete import 2018-11-25 19:50:50 +01:00
croneter
36eb5e9646 Force full sync after Plex user switch 2018-11-25 19:49:47 +01:00
croneter
b1f04c85a6 Code cleanup 2018-11-25 19:46:34 +01:00
croneter
3f42e24b7d Fix PKC not really starting upon first boot 2018-11-25 19:28:07 +01:00
croneter
81de319715 Fix more AttributeErrors 2018-11-25 17:29:21 +01:00
croneter
09f0492fa4 Fix AttributeErrors 2018-11-25 17:27:22 +01:00
croneter
9fd4a022a2 Fix RuntimeError: maximum recursion depth exceeded 2018-11-25 17:23:31 +01:00
croneter
a9bed6a3f8 Fix removal of movies 2018-11-25 17:21:41 +01:00
croneter
7670aa7a14 Fix OperationalError: Database is locked when video was deleted 2018-11-25 17:21:32 +01:00
croneter
6dc436da91 Rewire PKC startup and authentication mechanism 2018-11-25 17:03:19 +01:00
croneter
6d450b2be9 Fix TypeError 2018-11-24 14:06:21 +01:00
croneter
fb364a2275 Safety net for cleaning Kodi file table 2018-11-24 09:56:30 +01:00
croneter
3e754dfd1b Fix AttributeError 2018-11-24 09:54:57 +01:00
croneter
69b7f91542 New class to run functions as tasks 2018-11-24 09:53:37 +01:00
croneter
c25d6bee48 Clarify code 2018-11-24 09:52:36 +01:00
croneter
f32b5c1e71 Set fix limit of 6 worker threads 2018-11-24 09:52:25 +01:00
croneter
45fb84e697 Remove obsolete import 2018-11-23 17:25:28 +01:00
croneter
e87edb07f0 Fix PKC playQueue manager not picking up Plex ids correctly 2018-11-23 09:05:51 +01:00
croneter
8110c104f1 Less logging 2018-11-23 08:54:43 +01:00
croneter
02475bc8a6 Increase logging 2018-11-23 08:54:09 +01:00
croneter
5422b6d233 Fix AttributeError 2018-11-23 08:42:29 +01:00
croneter
3e41f63c62 Move xbmc.Player() 2018-11-23 08:41:05 +01:00
croneter
1b11c55d84 Fix AttributeError 2018-11-22 17:58:56 +01:00
croneter
d49ea8b383 Optimize code 2018-11-22 17:46:42 +01:00
croneter
9d6f729b21 Fix OperationalError: database is locked 2018-11-22 08:29:14 +01:00
croneter
d2922d61f5 Fix AttributeError 2018-11-22 08:04:41 +01:00
croneter
14c135a634 Fix OperationalError: no such column 2018-11-22 07:54:54 +01:00
croneter
5ad5bc1681 Fix SyntaxError 2018-11-22 07:46:15 +01:00
croneter
dcb10249a3 PEP8 2018-11-22 07:45:57 +01:00
croneter
7387b89d28 Fix OperationalError 2018-11-22 07:44:48 +01:00
croneter
fddd374b79 Fix some TypeErrors 2018-11-21 20:20:06 +01:00
croneter
c8b0e203ef Fix ImportError 2018-11-21 07:59:35 +01:00
croneter
ce191f6eeb Fix ProgrammingError: Cannot operate on a closed database 2018-11-20 19:23:42 +01:00
croneter
45b3c0e3f5 Fix potential TypeError if setting value is missing 2018-11-20 19:14:11 +01:00
croneter
0d22b72112 Fix TypeError 2018-11-20 19:10:26 +01:00
croneter
37ed6c2347 Remove obsolete code 2018-11-20 19:10:12 +01:00
croneter
b35cec106a Fix AttributeError due to missing method 2018-11-20 19:06:10 +01:00
croneter
f835e84d80 Fix context managers swallowing exceptions 2018-11-20 18:57:54 +01:00
croneter
5305d7bdfd Fix Syntax Error 2018-11-20 18:46:25 +01:00
croneter
2aadcbd198 Fix AttributeError 2018-11-20 18:39:18 +01:00
croneter
d668b3e640 Warn user and stop sync if crash occurs 2018-11-20 18:28:34 +01:00
croneter
0f740b1a02 Dedicated DB method to add video uniqueid 2018-11-20 18:24:43 +01:00
croneter
70a6ee5ed6 Dedicated DB method to add video rating_id 2018-11-20 18:18:52 +01:00
croneter
3acaad5663 Fix exceptions not being raised during sync 2018-11-20 18:08:51 +01:00
croneter
f68b4c8820 Fix AttributeError 2018-11-20 17:24:47 +01:00
croneter
f2df4fade6 Fix AttributeError 2018-11-20 17:17:52 +01:00
croneter
6fe0e23f53 Interrupt sleep if Kodi exits. Use Monitor's Player() 2018-11-20 16:58:25 +01:00
croneter
fff791e3d1 Remove obsolete code 2018-11-20 16:21:30 +01:00
croneter
e5c723d14f Remove obsolete code 2018-11-19 08:51:51 +01:00
croneter
f9f7b74ef3 Add user error message if Plex.tv does not provide users 2018-11-19 08:48:51 +01:00
croneter
a4dd5d8711 Prompt to login to plex.tv if no token available 2018-11-19 08:43:12 +01:00
croneter
3a514365ee Fix logging out also deleting Plex token 2018-11-19 08:17:49 +01:00
croneter
a045063769 Rather big change of PKC's plumbing 2018-11-18 14:59:17 +01:00
croneter
b2615c19bd Fix fanart download message showing up too often 2018-11-13 16:30:05 +01:00
croneter
a566dc566d Ensure that artwork caching thread suspends on STOP_SYNC 2018-11-13 16:02:54 +01:00
croneter
5c7968abdb Ensure that fanart sync closes DB connection during playback 2018-11-13 15:01:31 +01:00
croneter
789b214b50 Suspend fanart sync during playback 2018-11-13 14:54:54 +01:00
croneter
c168981a5b Optimize code 2018-11-13 14:51:10 +01:00
croneter
0c9e544e9e Suspend fanart sync if another sync is running 2018-11-13 14:48:25 +01:00
croneter
40e3a852a2 Fix AttributeError for songs 2018-11-13 14:42:48 +01:00
croneter
5a30b1c86a Fix download generator hanging 2018-11-13 14:38:38 +01:00
croneter
4ff2a8cb18 Try deleting temp DB files on DB wipe 2018-11-13 09:28:19 +01:00
croneter
e10d92cecb Cleanup music sync code 2018-11-13 09:02:34 +01:00
croneter
aafba74ccd PEP8 2018-11-13 07:47:37 +01:00
croneter
2d5e22c146 Update sync progress string 2018-11-12 16:37:56 +01:00
croneter
52dfd49080 More logging 2018-11-11 20:37:40 +01:00
croneter
bd1c2c3a0a More indicees for Kodi DB to increase sync speed 2018-11-11 20:13:10 +01:00
croneter
51745fd838 Optimize code 2018-11-11 20:11:19 +01:00
croneter
dfde9533d8 More indicees for Plex DB 2018-11-11 19:32:05 +01:00
croneter
ead799d38b More fixes 2018-11-11 19:22:32 +01:00
croneter
bc7fc4db1b Fixes to XML download iterator 2018-11-11 17:48:11 +01:00
croneter
7aec7fe776 Smarter caching for XML download generator 2018-11-11 17:14:40 +01:00
croneter
8535852699 Optimize code 2018-11-11 12:53:49 +01:00
croneter
18891a67fc Download entire xmls asynchronously, not just a piece 2018-11-11 10:47:18 +01:00
croneter
54113a715b Fix AttributeError 2018-11-11 09:28:18 +01:00
croneter
afedf03ac9 New method for DB commit 2018-11-11 09:23:51 +01:00
croneter
6de47490c3 Revert "Wrap Kodi DB transactions explicitly"
This reverts commit be45d914d3.
2018-11-10 16:18:22 +01:00
croneter
be45d914d3 Wrap Kodi DB transactions explicitly 2018-11-10 16:09:06 +01:00
croneter
48f5d67d63 Change artwork for music items 2018-11-10 12:18:02 +01:00
croneter
da7d871af8 Add Plex type to sync progress bar 2018-11-09 15:05:17 +01:00
croneter
4fca9b56c4 Less logging 2018-11-09 14:42:09 +01:00
croneter
e624edc7ae Download PMS xml chunks asynchronously 2018-11-09 14:39:43 +01:00
croneter
d16da6fa6f Fix OperationalError: database is locked 2018-11-09 11:19:32 +01:00
croneter
0255bd3584 Rename method 2018-11-09 09:48:04 +01:00
croneter
ab718bae2a Optimize sync of video filename 2018-11-09 09:26:54 +01:00
croneter
76728d7319 Pass plex_type with section 2018-11-09 09:10:22 +01:00
croneter
5b85b2b71a Enable cProfiling for full sync 2018-11-09 09:08:04 +01:00
croneter
4e1f975647 Fix ValueError for queue on Kodi exit 2018-11-09 09:07:46 +01:00
croneter
0b81fcd39c Fix sync progress 2018-11-09 09:05:14 +01:00
croneter
7830a0e0e3 Let full_sync finish gracefully on Kodi exit 2018-11-09 08:56:57 +01:00
croneter
e37223f016 Fix full_sync advancing before a section was synced 2018-11-09 08:44:05 +01:00
croneter
c8e8e04697 Speed up sync of actor artwork 2018-11-09 08:02:04 +01:00
croneter
463d0540a4 Speed up sync with dedicated add_artwork method 2018-11-09 07:56:10 +01:00
croneter
096af4dc7c Simplify code 2018-11-09 07:42:47 +01:00
croneter
5f57b0af5f Greatly speed up sync with dedicated add_people method 2018-11-08 21:40:19 +01:00
croneter
a16eae143a Rewire kodi database access 2018-11-08 21:22:16 +01:00
croneter
150229061b Reduce Python DB overhead 2018-11-08 15:15:52 +01:00
croneter
2319d2fc9c Further speed up add_file 2018-11-07 13:37:37 +01:00
croneter
05c96dc1c6 Speed up idPath look-up 2018-11-07 13:33:16 +01:00
croneter
3d837fcf33 Enable PKC to use Kodi DB index "ix_files" 2018-11-07 13:31:38 +01:00
croneter
015451d2fd Speed up Plex API 2018-11-07 12:08:35 +01:00
croneter
8ef0af3ec7 Commit DB changes for every 200 items 2018-11-07 10:41:40 +01:00
croneter
0db29dd568 Get movie set information asynchronously 2018-11-07 10:37:32 +01:00
croneter
e460aea7e8 Do not catch exceptions if checksum calc goes awry 2018-11-07 07:46:20 +01:00
croneter
923c413921 Add fallback if checksum updatedAt is missing 2018-11-07 07:45:19 +01:00
croneter
009fc9937a Fix OperationalError when trying to wipe empty Plex DB 2018-11-06 20:33:05 +01:00
croneter
a5ce8e0a93 More thorough cleanup upon PKC first run 2018-11-06 20:24:36 +01:00
croneter
a81fd527c1 Be smart when wiping Kodi DBs: only wipe music if necessary 2018-11-06 20:22:30 +01:00
croneter
20f26364b8 Enforce plex id type int 2018-11-06 19:06:48 +01:00
croneter
c996e5c9be Allow float offset values 2018-11-06 19:03:01 +01:00
croneter
f767342e13 Introduce properties for playqueue items 2018-11-06 19:01:56 +01:00
croneter
30a1a0a70c Fix TypeErrors 2018-11-06 18:21:14 +01:00
croneter
ff6f056bca Fix Plex Companion seeking 2018-11-06 18:16:32 +01:00
croneter
a75afc109c Fix TypeError for selecting Plex media streams 2018-11-06 15:12:17 +01:00
croneter
440f399917 Fix TypeError 2018-11-06 14:13:28 +01:00
croneter
b08b3dc443 Fix TypeError 2018-11-06 14:11:47 +01:00
croneter
41ec923a30 Fix KeyErrors 2018-11-06 14:08:14 +01:00
croneter
892a1afdcb Fix KeyError 2018-11-06 13:50:46 +01:00
croneter
06d00b2a12 Use Kodi hostname as Plex Companion friendly name 2018-11-06 13:43:40 +01:00
croneter
52a225eb92 Fix setting int/float ListItem property 2018-11-06 13:02:10 +01:00
croneter
df6cb5718a Fix casting of int/float to str or unicode 2018-11-06 12:41:06 +01:00
croneter
2e8be9ec6b Fix AttributeErrors 2018-11-06 12:35:02 +01:00
croneter
b7fa4f2c7b Fix playback receiving string plex id, not int 2018-11-06 12:33:02 +01:00
croneter
1b94e23386 Fix worker quitting prematurely 2018-11-06 11:30:04 +01:00
croneter
3414a0a688 Fix SyntaxError 2018-11-06 11:20:20 +01:00
croneter
3123af6426 Use a dedicated full sync thread manager
- Prevents threads from restarting all the time
2018-11-06 11:17:21 +01:00
croneter
7180595e05 Correctly show the current sync item number 2018-11-05 18:31:59 +01:00
croneter
bc1ad1d998 Prevent error message upon DB reset 2018-11-05 18:31:26 +01:00