Commit graph

439 commits

Author SHA1 Message Date
Chuddah
302880f67a Parallelize multiple http GET requests
Added ThreadPoolExecutor and used to process GET requests in multiple
threads which enables chunks of data to always be available for
processing. Processing of the data can happen as soon as the first chunk
arrives.

Refactored the code to help implement. The idea is the "params" are
built in batch and passed to the thread pool which get the actual
results.
2020-02-19 22:18:54 +00:00
mcarlton00
de70d9ac60
Merge pull request #197 from druscoe/fix_empty_download_thread_list
Move the responsibility of the maximum number of threads to the UI.
2020-02-18 20:03:44 -05:00
Chuddah
af810861c8 Allow for UI updates as the library is being sync'ed
Periodically release the locks on the database as the sync with the
server is being performed. This allows the UI to communicate with its
database and update the UI in real time.

Taken this oppurtunity to refactor some common code improve
maintainance.
2020-02-18 23:23:47 +00:00
Chuddah
2bf2206a1e Move the responsibility of the maximum number of threads to the UI.
Previously the user was able to set any number to limitThreads UI
component but internally that was reduced to be a maximum of 50 which is
deceiving to the user. Set this is set as a boundary in the UI.

This also fixes a bug that the user could set the number of threads to
zero which follows from GIGO; but let the UI assist by placing a min
number of threads to 1.
2020-02-17 11:59:48 +00:00
mcarlton00
5fc60fce6b
Merge pull request #195 from druscoe/fix_empty_download_thread_list
Fix empty download thread list
2020-02-16 19:16:21 -05:00
Chuddah
4649d2371f Keep adding threads until the user limit has been reached 2020-02-16 23:39:27 +00:00
Chuddah
b878a0e433 Added download thread to the download_threads when created. 2020-02-16 22:56:46 +00:00
Chuddah
b9817a5617 Revert "Replaced debug output of json.dumps with an indirection to lazy __str__."
This reverts commit 78fda95853.

Committed on the wrong branch.
2020-02-16 22:22:23 +00:00
Chuddah
7491000a13 Replaced debug output of json.dumps with an indirection to lazy __str__.
json.dumps is a processing intensive operation. This is being called
every time data is received from the server (most noticeably during
library updates) for debug logging. If the user has debug logging
disabled (the default option) then the user is still paying for
processing which is discarded.

The fix is to add a level of indirection where the dumps function is
only called if a string representation of the json is requested; ie.
when the debug string is evaluated.
2020-02-16 22:17:05 +00:00
Chuddah
78fda95853 Replaced debug output of json.dumps with an indirection to lazy __str__.
json.dumps is a processing intensive operation. This is being called
every time data is received from the server (most noticeably during
library updates) for debug logging. If the user has debug logging
disabled (the default option) then the user is still paying for
processing which is discarded.

The fix is to add a level of indirection where the dumps function is
only called if a string representation of the json is requested; ie.
when the debug string is evaluated.
2020-02-16 22:07:56 +00:00
Chuddah
85d4e660ef Dont modify a list as you are traversing it. The result is
implementation dependant although with CPython elements are
unintentionally skipped during iteration.

Basic CPython example:

>>> A = [1,2,3,4,5,6]
>>> for a in A:
...     A.remove(a)
>>> A
[2, 4, 6]
2020-02-16 18:41:14 +00:00
mcarlton00
94456ddcd8
Merge pull request #192 from mcarlton00/fix-remote-crash
Fix playlist paths
2020-02-15 11:22:18 -05:00
mcarlton00
0b3319a01a
Merge pull request #190 from mcarlton00/obj-error
Obj error
2020-02-15 11:21:57 -05:00
mcarlton00
0bd378f9c9 Fix playlist paths 2020-02-14 20:15:14 -05:00
mcarlton00
ba6242dd93 Fixing indentation 2020-02-13 19:43:29 -05:00
mcarlton00
c6a701a4a3 Fix library object types 2020-02-13 19:39:38 -05:00
mcarlton00
e30e6dca8a Add link to magic string 2020-02-12 17:22:49 -05:00
mcarlton00
07c9fffab7 Fix kodi 19 websocket control 2020-02-11 23:09:55 -05:00
Abby
42258c699a Removed unnecessary log messages and changed some to debug (#167) 2020-01-05 18:41:26 -05:00
Odd Stråbø
933a31ac23 Fixes for Kodi 18.5 (and Python2) 2020-01-04 05:17:51 +01:00
a51bf9c2cc Initial work on Kodi 19 (and Python 3) support 2020-01-04 03:32:30 +01:00
mcarlton00
2e8d2e6009 Move the RemoteAddress check 2019-12-16 19:36:04 -05:00
mcarlton00
e96f32308b Remove emby references from music database 2019-12-14 11:42:39 -05:00
mcarlton00
a7c96577cd Remove all emby api endpoints 2019-12-14 08:19:57 -05:00
mcarlton00
58c9db9944
Merge pull request #160 from mcarlton00/metadata-fix
Correct filepath when entering data to database
2019-12-13 19:59:44 -05:00
mcarlton00
14fd9253b2
Remove remote address if it still exists in the config file 2019-12-13 19:53:38 -05:00
mcarlton00
842b0813a3
Add migration for manual configuration servers 2019-12-13 19:38:20 -05:00
Matt
014d2ef3c5 Fix database entry for music videos 2019-12-13 18:19:48 -05:00
Odd Stråbø
039eea0aec Add config migration for pr #145 2019-12-13 23:44:46 +01:00
Matt
146aed33e9 Fix shows in addon mode, not directplay 2019-12-13 07:32:28 -05:00
Matt
60cc67eb15 Correct filepath when entering data to database 2019-12-12 21:32:53 -05:00
Matt
ab1dcca938 Update websocket path 2019-12-10 22:41:35 -05:00
Abby
f7fdcd0cd8
Merge branch 'master' into remove_commented_code 2019-12-09 20:33:40 +00:00
TrueTechy
109c107532 Removed blocks of commented out code 2019-12-09 20:27:11 +00:00
TrueTechy
4e179890ec Change translation function name from _ to translate 2019-11-25 00:58:44 +00:00
TrueTechy
efa5048b95 Removed connection tests and minor cleanup 2019-11-11 23:08:21 +00:00
Odd Stråbø
e91e979f4d Remove the prompt before library selection. 2019-11-09 20:16:19 +01:00
TrueTechy
7e8f34401d Remove Core folder 2019-11-07 22:59:10 +01:00
TrueTechy
84b8093171 Begin restructing, fixed some issues related to movement 2019-11-07 22:58:44 +01:00