Commit graph

3856 commits

Author SHA1 Message Date
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
14359dd5f4 Revert "Change standard number of items to request from 200 to 400"
This reverts commit 46137763e0.
2018-11-11 09:45:21 +01:00
croneter
46137763e0 Change standard number of items to request from 200 to 400 2018-11-11 09:36:38 +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
136d242780 Change setting to slider 2018-11-09 14:37:40 +01:00
croneter
d16da6fa6f Fix OperationalError: database is locked 2018-11-09 11:19:32 +01:00
croneter
fd542936b8 Increase max number of threads to 30 2018-11-09 09:53:13 +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