Commit graph

4048 commits

Author SHA1 Message Date
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
croneter
0fa8fe1144 Fix AttributeError on PKC DB reset 2018-11-05 18:18:46 +01:00
croneter
e4c9a7a259 Optimize sync loop 2018-11-05 18:13:57 +01:00
croneter
d44d6983b3 Remove obsolete code 2018-11-05 18:02:37 +01:00
croneter
07c4d64a84 Rewire artwork caching 2018-11-05 18:00:01 +01:00
croneter
e761567592 Rewire image caching thread 2018-11-05 15:23:51 +01:00
croneter
30d85eebc0 Fix FanartThread isSuspended 2018-11-05 14:34:34 +01:00
croneter
03fb6506f4 PEP8 2018-11-05 14:18:52 +01:00
croneter
58d34e75f0 Move start of image caching thread to sync 2018-11-05 14:17:48 +01:00
croneter
99d0fe7538 Add missing notification text 2018-11-05 14:13:25 +01:00
croneter
2ffd4491cf Fix sync isSuspended 2018-11-05 14:10:43 +01:00
croneter
f321baab82 Code cleanup 2018-11-05 14:03:19 +01:00
croneter
6e83a549d3 Enable user setting for number of sync threads 2018-11-05 14:03:07 +01:00
croneter
8205e19668 Let the Kodi library update after a full sync 2018-11-05 13:53:57 +01:00
croneter
0536a7c151 Don't spawn a separate full sync thread 2018-11-05 13:52:31 +01:00
croneter
0d5f59ab84 Less logging 2018-11-05 13:02:11 +01:00
croneter
b29b80ebe3 Less logging 2018-11-05 13:01:22 +01:00
croneter
b781a764ef Less logging 2018-11-05 13:00:26 +01:00
croneter
b7a6a58da3 Fix some more errors: Item not yet synced 2018-11-05 12:28:05 +01:00
croneter
263b7d7684 Fix TypeError 2018-11-05 12:24:18 +01:00
croneter
d2dd631b4b Fix some "Item not yet synced" errors for playstate updates 2018-11-05 12:19:08 +01:00
croneter
48b78fe73f Fix some errors: Item not yet synced 2018-11-05 11:49:00 +01:00
croneter
49b75d89c0 Less logging 2018-11-05 11:20:00 +01:00
croneter
16b59d7cbe Revert "Revert "Less logging""
This reverts commit fcb580a62a.
2018-11-05 11:17:21 +01:00
croneter
fcb580a62a Revert "Less logging"
This reverts commit a4bd3e469f.
2018-11-05 11:08:20 +01:00
croneter
a4bd3e469f Less logging 2018-11-05 11:07:57 +01:00
croneter
8ea787cc49 Less logging 2018-11-05 10:47:48 +01:00
croneter
35c87856fd Fix TypeError 2018-11-05 10:10:42 +01:00
croneter
417aefd588 Fix endless music sync loop 2018-11-05 09:52:18 +01:00
croneter
66ecaa155f Further optimize music sync 2018-11-05 09:51:21 +01:00
croneter
c9b6e67771 Optimize music sync 2018-11-05 09:39:33 +01:00
croneter
0b5fcb855c Fix OperationalError: no such column: Userrating 2018-11-04 17:47:40 +01:00
croneter
e8621acdf3 Fix OperationalError no such table 2018-11-04 17:44:06 +01:00
croneter
f8c6b21f51 Optimize logging 2018-11-04 17:33:55 +01:00
croneter
120a616331 Optimize code 2018-11-04 17:31:04 +01:00
croneter
0fa72faf61 Increase season sync resiliance 2018-11-04 17:28:22 +01:00
croneter
7f431f1923 Increase episode sync resiliance 2018-11-04 17:26:08 +01:00
croneter
2917bc982f Speed-up looking up of existing episodes 2018-11-04 17:02:01 +01:00
croneter
91ea8c8d00 Fix AttributeError 2018-11-04 17:00:34 +01:00
croneter
9245f44f70 Fix KeyError 2018-11-04 16:56:29 +01:00
croneter
41b5ec1b8e Fix KeyError 2018-11-04 16:55:24 +01:00
croneter
48a530b49a More hacking 2018-11-04 16:53:42 +01:00
croneter
2fcb43b9d9 PEP8 2018-11-03 18:47:51 +01:00
croneter
8bffc5a30f Fix OperationalError: Database is locked and heavily speed up sync 2018-11-03 18:40:11 +01:00
croneter
9c3c8b0d35 Fix log typo 2018-11-03 18:38:51 +01:00
croneter
bfef7a346e Refresh progress bar for every single item 2018-11-03 17:18:25 +01:00
croneter
85c5e15b91 Less logging 2018-11-03 17:10:14 +01:00
croneter
f32d1dde0f Less logging 2018-11-03 17:05:52 +01:00
croneter
b3eeabc9ad Fix AttributeError: __exit__ 2018-11-03 17:04:24 +01:00
croneter
2d0869b589 PEP8 2018-11-03 16:59:59 +01:00
croneter
80691861f8 Add lookup for audio types 2018-11-03 16:59:46 +01:00
croneter
b9a8d66e3d Fix KeyError 2018-11-03 16:56:51 +01:00
croneter
4cbad1f1f7 Enable notify for crashes for fanart 2018-11-03 16:53:56 +01:00
croneter
d0d6798bb1 Simplify code 2018-11-03 10:39:49 +01:00
croneter
335c0175a7 Fix KeyErrors 2018-11-03 10:37:10 +01:00
croneter
5673abc19b Rewire fanart sync 2018-11-03 10:36:37 +01:00
croneter
c967cfc8b1 Fix TypeError 2018-11-01 15:43:52 +01:00
croneter
835c047fb1 Rename logging 2018-11-01 15:43:43 +01:00
croneter
aabdf15072 Rewire websocket sync 2018-11-01 15:43:27 +01:00
croneter
146290c03e Switch to xbmc.abortRequested to terminate PKC 2018-10-31 15:35:44 +01:00
croneter
28a38c63a1 Fix OperationalError: near "1": syntax error 2018-10-29 13:35:46 +01:00
croneter
fbaccdf4bf Fix TypeError 2018-10-29 13:26:58 +01:00
croneter
ce002a0fa8 Improve the checking of an item's checksum 2018-10-29 13:26:14 +01:00
croneter
8c3764e8ad Fix OperationalError: no such table: artist 2018-10-29 13:21:35 +01:00
croneter
3d77bd64d1 Add missing method 2018-10-28 17:02:06 +01:00
croneter
01fc08b027 Fix TypeError: 'InitNewSection' object has no attribute 2018-10-28 16:50:00 +01:00
croneter
facf2d5e2d PEP8 2018-10-28 16:17:20 +01:00
croneter
17a7d306ae Fix AttributeError 2018-10-28 16:14:37 +01:00
croneter
8f86fc1038 Fix AttributeError 2018-10-25 18:29:47 +02:00
croneter
60f7d0fce2 Don't cast to unicode 2018-10-25 18:28:41 +02:00
croneter
0dfcebbee3 Fix TypeError 2018-10-25 18:17:00 +02:00
croneter
c10afd1920 Fix AttributeError 2018-10-25 18:16:01 +02:00
croneter
7640f1e2d2 Fix process_metadata and get_metadata 2018-10-25 18:14:35 +02:00
croneter
d5f4ad3e62 Fix AttributeError for Tasks 2018-10-25 17:50:59 +02:00
croneter
62c07b2ee0 Remove obsolete code 2018-10-25 16:07:56 +02:00
croneter
b7aedca7fa Add missing method 2018-10-25 16:07:34 +02:00
croneter
3a411cc36b Fix TypeError 2018-10-25 15:57:12 +02:00
croneter
4b7eace923 Fix AttributeError 2018-10-25 15:55:46 +02:00
croneter
eee4554213 Fix KeyErrors 2018-10-25 15:54:22 +02:00
croneter
587df50c54 Fix AttributeError 2018-10-25 13:27:12 +02:00
croneter
dfccefe2e8 Fix UnboundLocalError 2018-10-25 13:25:25 +02:00
croneter
14f7b56b08 Fix TypeError 2018-10-25 13:22:34 +02:00
croneter
ff73318157 Less logging 2018-10-25 13:21:24 +02:00
croneter
59dc295dc8 Fix AttributeError 2018-10-25 13:20:46 +02:00
croneter
9bab18367c Fix turning generator into list 2018-10-25 13:19:46 +02:00
croneter
a060b1fcaa Simplify call of SectionItems download 2018-10-25 13:05:26 +02:00
croneter
91533aa89f Fix time sync not downloading items 2018-10-25 13:02:36 +02:00
croneter
a603fbadca Drop Plex tables entirely on DB reset; no further version check needed 2018-10-25 12:55:25 +02:00
croneter
c2efe0d57f Optimize sync startup 2018-10-25 12:46:57 +02:00
croneter
2a97678ba4 Compare Plex DB version separately 2018-10-25 08:43:47 +02:00
croneter
e0fdfac063 Check Plex DB version and force-reset if necessary 2018-10-24 18:40:44 +02:00
croneter
3558182b7e Fix AttributeError: 'super' object has no attribute 2018-10-24 18:08:00 +02:00
croneter
a9138cbd71 Fix OperationalError 2018-10-24 18:07:51 +02:00
croneter
e74a4ba2e9 Fix ImportError 2018-10-24 17:59:41 +02:00
croneter
ae37e21aeb Fix AttributeError 2018-10-24 17:56:59 +02:00
croneter
b94952ba4a Fix ImportError 2018-10-24 17:55:56 +02:00
croneter
c7e7ac65a4 Fix ImportError 2018-10-24 17:55:04 +02:00
croneter
31a0939b42 Fix SyntaxError 2018-10-24 17:54:10 +02:00
croneter
4edeaba365 Fix ImportError 2018-10-24 17:53:20 +02:00
croneter
8799ec8592 Fix IndentationError 2018-10-24 17:51:43 +02:00
croneter
3bc1caebca Require database reset 2018-10-24 17:23:38 +02:00
croneter
842df1773f Rename librarysync 2018-10-24 17:19:36 +02:00
croneter
4246711b1e Remove old plexdb_functions 2018-10-24 17:17:02 +02:00
croneter
e7899d656d Remove old itemtypes 2018-10-24 15:23:38 +02:00
croneter
205dc3fab8 Rewire llibrary sync, part 7 2018-10-24 15:20:25 +02:00
croneter
f520cebf66 Rewire llibrary sync, part 6 2018-10-24 10:57:52 +02:00
croneter
2f96749fc7 Rewire llibrary sync, part 5 2018-10-24 07:08:32 +02:00
croneter
23dada9fe5 Rewire llibrary sync, part 4 2018-10-23 13:54:09 +02:00
croneter
35a25a7f15 More hacking 2018-10-21 18:32:11 +02:00
croneter
e935b7c97b Rewire llibrary sync, part 3 2018-10-21 16:56:13 +02:00
croneter
3f4c43e373 Rewire llibrary sync, part 2 2018-10-21 12:03:21 +02:00
croneter
e6692a9012 Rewire llibrary sync, part 1 2018-10-20 14:49:04 +02:00
croneter
3c6979813b Add download generator 2018-10-14 19:59:11 +02:00
croneter
02b20a9b74 Catch ParseError from defusedxml correctly 2018-10-14 12:15:09 +02:00
croneter
76fbf3ac83 Fix cElementTree TypeError: cannot serialize 2018-10-14 12:14:41 +02:00
croneter
36c627651e Fix cElementTree TypeError: cannot serialize 2018-10-14 12:13:52 +02:00
croneter
6021407929 Revert "Optimize code"
This reverts commit c5e1d7a7df.
2018-10-14 12:01:15 +02:00
croneter
e45a133f51 Fix cElementTree TypeError: cannot serialize 2018-10-14 11:48:44 +02:00
croneter
c5e1d7a7df Optimize code 2018-10-14 11:47:33 +02:00
croneter
8199c2ce5b Fix PEP-8 2018-10-14 11:12:48 +02:00
croneter
c2c13b715d Fix typo 2018-10-14 11:12:08 +02:00
croneter
740cc5a6ff Fix NameError 2018-10-13 20:28:55 +02:00
croneter
c5741c7225 Use xml.etree.cElementTree whenever possible to avoid memory leaks 2018-10-13 20:17:16 +02:00
croneter
770b3704e8 Fix Kodi crashing due to PKC memory leak
- Fixes #531
2018-10-13 14:43:44 +02:00
croneter
6be1f40373 Try to fix PKC for Enigma 2
- Hopefully fixes #545
2018-10-10 19:26:35 +02:00
croneter
d09933a68a PEP8 2018-10-10 19:19:30 +02:00
croneter
25675a9136 Optimize resetting of Kodi and Plex databases
- Fixes #527
2018-10-10 19:18:06 +02:00
croneter
c9341169c3 Increase logging 2018-10-07 17:52:38 +02:00
croneter
27e92afe02 Make sure we retain a dummy first music artist entry
- Hopefully fixes #527
2018-10-07 17:47:32 +02:00
croneter
594e908508 Fix PKC not starting up on Enigma
- Fixes #545
2018-10-07 17:12:30 +02:00
croneter
6718182411 Fix sync issues if video lies in root of file system
- Fixes #544
- Manual Kodi database reset is necessary
2018-10-07 17:07:45 +02:00
croneter
8d9d135595 Wipe Kodi database on first PKC run
- Fixes #543
2018-10-06 15:47:41 +02:00
croneter
ab81c88b8f Fix flickering Kodi screen 2018-10-06 14:45:01 +02:00
croneter
8e1b3444ac Rewire Kodi library refreshs 2018-10-06 14:40:14 +02:00
croneter
9f35e1d99e Fix playback not starting up at all 2018-10-06 13:30:43 +02:00
croneter
0d0a5948ac Fix rare case when playback would not start-up 2018-10-04 19:48:13 +02:00
croneter
be57db9200 Increase logging 2018-10-04 19:45:44 +02:00
croneter
7b4e7cbb22 Fix Kodi addons throwing jsonrpc errors (database reset needed)
- Fixes #539
2018-09-29 16:51:51 +02:00
croneter
c6e1a7029a Fix numbering of already existing playlist files 2018-09-23 16:03:50 +02:00
croneter
5fabaf6a8e Hopefully fix endless playlist sync loops 2018-09-23 15:06:41 +02:00
croneter
21fb1ad015 Ensure shows are deleted before seasons before episodes 2018-09-23 13:52:08 +02:00
croneter
35d0f6a49d Fix library sync crash on deleting episode with missing season 2018-09-23 13:45:57 +02:00
croneter
cbcdc74a8c Fix Typo 2018-09-22 12:07:30 +02:00
croneter
88ebf718d5 Optimize logging 2018-09-22 12:06:02 +02:00
croneter
e3328ad061 Switch to Plex style dialogs 2018-09-18 16:26:40 +02:00
croneter
e9e1b7b7de Revert "Change optionsdialog import behavior"
This reverts commit ad444a5da0.
2018-09-18 16:20:24 +02:00
croneter
ad444a5da0 Change optionsdialog import behavior 2018-09-18 14:18:07 +02:00
croneter
6666d3fc3a Fix AttributeError on forcing texture caching 2018-09-17 18:13:33 +02:00
croneter
e1c01b184b Don't show a pre-sign-in dialog 2018-09-16 17:29:18 +02:00
croneter
dd62cded43 Simplify code 2018-09-16 17:18:46 +02:00
croneter
c6073e2426 Fix user not being able to close dialog 2018-09-16 17:18:37 +02:00
croneter
1fe244e8a6 Use Plex dialog 2018-09-16 16:13:08 +02:00
croneter
c4f6a441b6 Fix Info screen not returning 2018-09-16 16:08:44 +02:00
croneter
c7bb333e97 Fix AttributeError 2018-09-16 14:02:27 +02:00
croneter
4cf191cbb4 Switch paths 2018-09-16 14:00:52 +02:00
croneter
1a4135c6a4 Fix add-on settings not opening on installation 2018-09-16 13:35:07 +02:00
croneter
9dc86c9731 Fix UnicodeDecodeError for PMS with non ASCII chars 2018-09-16 13:33:20 +02:00
croneter
a82fda85ca New Plex.tv sign-in dialogs 2018-09-16 13:25:15 +02:00
croneter
3110d8c0ee Use Plex dialogs for initial PKC set-up 2018-09-15 16:53:06 +02:00
croneter
93fd45a4e1 Add new Plex yes-no dialog 2018-09-15 16:30:17 +02:00
croneter
029ea93268 Translate Plex info dialog button text 2018-09-15 16:15:14 +02:00
croneter
038bce1a27 Use Plex dialog 2018-09-15 16:12:10 +02:00
croneter
a7791bad0a Don't show a warning if user aborted user selection 2018-09-15 16:08:51 +02:00
croneter
1bf98cb27e Greatly speed up deleting of items on the Kodi side 2018-09-15 15:50:59 +02:00
croneter
3088078ff8 Fix empty pin entry field showing up 2018-09-15 15:46:06 +02:00
croneter
b5524d1206 Optimize code 2018-09-15 15:16:59 +02:00
croneter
0147e29cef Only try user login once 2018-09-15 15:15:28 +02:00