Commit Graph

22 Commits

Author SHA1 Message Date
mammo0 0359e0f80a fixed 'args' beiing provided as list for dict.get() method
before the people cache was never used, because the 'args' parameter in
the 'self._people_cache.get(args)' call was a list/tuple object; but the
people cache dictionary has only strings as keys
-> so there were always database queries for the persons which slowed
down the sync process


also renamed 'args' to 'name', because basically a person gets searched
only by its name (see queries.py)
2021-04-19 18:07:03 +02:00
Matt 33dfd0ee82 Fix capitalization of variable 2021-03-15 23:42:11 -04:00
Matt 94b3a3e0a0 Fix recently added albums in Kodi 19 2021-03-15 23:32:37 -04:00
Matt 77f06b0817 Fix full syncs with new actors 2021-03-14 09:44:36 -04:00
Matt abf5b8b8df Remove unused import 2021-03-13 20:22:42 -05:00
Matt 2d60480df3 Rework people sync to avoid exception program flow 2021-03-13 20:13:40 -05:00
Matt 0aa2e71320 Fix music artist syncing for Kodi 19 2021-01-23 22:20:34 -05:00
Luca Weiss 8ed3be521b Add support for music database format v74
See the following commit for reference:
  8fb8a640e0

Fixes #281
2020-06-17 22:19:00 +02:00
Odd Stråbø 3f63e7c213 Fix linting, flake8 and sonarcloud issues 2020-04-19 12:07:55 +02:00
Odd Stråbø 795dfd38df Get the logger from a central place 2020-04-19 03:21:40 +02:00
Matt 05a375d826 Add ability to delete artwork from database 2020-03-19 19:28:49 -04:00
Abby Gourlay 3bff962cad Removed web server for image caching 2020-03-14 22:37:09 +00:00
Chuddah e23d2e1f7b Forgot to remove unexecuted code. 2020-02-23 19:31:41 +00:00
Chuddah 6fe450da4d Attempt number 2 on a larger dataset; the people table.
Note: This has a previously applied optimization of using a local cache.

Before:
```
458570   66.934    0.000   66.934    0.000 {method 'execute' of 'sqlite3.Cursor' objects}
246771   58.075    0.000   58.075    0.000 {method 'fetchone' of 'sqlite3.Cursor' objects}
```

After:
```
368883   66.220    0.000   66.220    0.000 {method 'execute' of 'sqlite3.Cursor' objects}
157084   58.160    0.000   58.160    0.000 {method 'fetchone' of 'sqlite3.Cursor' objects}
```

Once again, the number of calls to execute and fetchone are reduced but
the total time spent executing each is relatively stable.
2020-02-23 18:27:12 +00:00
Chuddah 0a69894320 Attempt to reduce the number of calls to execute and fetchone.
Profiling has shown that there are many calls to sqlite3.execute and
fetchone which takes a signicant amount of time. A simple way of
reducing these is to swap the 2-stage init of table row data into a
unified add.

Applying this to add_set and add_country yielded these results:

Before changes
```
281784    7.054    0.000    7.054    0.000 {method 'execute' of 'sqlite3.Cursor' objects}
127443    1.114    0.000    1.114    0.000 {method 'fetchone' of 'sqlite3.Cursor' objects}
```

After changes
```
281714    7.492    0.000    7.492    0.000 {method 'execute' of 'sqlite3.Cursor' objects}
127373    1.217    0.000    1.217    0.000 {method 'fetchone' of 'sqlite3.Cursor' objects}
```

Note: The total time of fetchone has actually increased. I am hoping
this was an abnormality on my machine and the actual reduction in the
number of calls will permantly reduce this total time.
2020-02-23 18:00:38 +00:00
Damien Ruscoe 756991e9ec
Resort to the expensive database lookup only if the person exists in the (#200)
* Added profiling info

* Resort to the expensive database lookup only if the person exists in the
database.

* Prevent any access to the people database unless a person must be added.

* Bulk operations where possible.

* Prepare for a new install and the table not existing.
2020-02-19 19:28:47 -05: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
Odd Stråbø a51bf9c2cc Initial work on Kodi 19 (and Python 3) support 2020-01-04 03:32:30 +01: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 84b8093171 Begin restructing, fixed some issues related to movement 2019-11-07 22:58:44 +01:00