Commit Graph

27 Commits

Author SHA1 Message Date
GrégoireDruant 437df77246 WIP 2023-05-06 09:52:53 +02:00
Odd Stråbø d67affc459 Set premiere date 2022-10-29 15:59:27 +02:00
Odd Stråbø 862b2274e1 Fix bug in add_movie query introduced by #581 2021-10-19 16:29:22 +02:00
Odd Stråbø 833f72ff5d Don't store CriticRating in the userrating db field 2021-10-12 18:50:24 +02:00
Odd Stråbø 53c887d354 Use module-relative imports 2021-10-12 18:08:47 +02:00
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