Merge branch 'beta-version'
This commit is contained in:
commit
80d079312a
4 changed files with 23 additions and 9 deletions
|
@ -1,5 +1,5 @@
|
||||||
[![stable version](https://img.shields.io/badge/stable_version-2.3.10-blue.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/stable/repository.plexkodiconnect/repository.plexkodiconnect-1.0.2.zip)
|
[![stable version](https://img.shields.io/badge/stable_version-2.3.10-blue.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/stable/repository.plexkodiconnect/repository.plexkodiconnect-1.0.2.zip)
|
||||||
[![beta version](https://img.shields.io/badge/beta_version-2.3.10-red.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/beta/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.2.zip)
|
[![beta version](https://img.shields.io/badge/beta_version-2.3.11-red.svg?maxAge=60&style=flat) ](https://github.com/croneter/binary_repo/raw/master/beta/repository.plexkodiconnectbeta/repository.plexkodiconnectbeta-1.0.2.zip)
|
||||||
|
|
||||||
[![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/Installation)
|
[![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/Installation)
|
||||||
[![FAQ](https://img.shields.io/badge/wiki-FAQ-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/faq)
|
[![FAQ](https://img.shields.io/badge/wiki-FAQ-brightgreen.svg?maxAge=60&style=flat)](https://github.com/croneter/PlexKodiConnect/wiki/faq)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.plexkodiconnect" name="PlexKodiConnect" version="2.3.10" provider-name="croneter">
|
<addon id="plugin.video.plexkodiconnect" name="PlexKodiConnect" version="2.3.11" provider-name="croneter">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.1.0"/>
|
<import addon="xbmc.python" version="2.1.0"/>
|
||||||
<import addon="script.module.requests" version="2.9.1" />
|
<import addon="script.module.requests" version="2.9.1" />
|
||||||
|
@ -73,7 +73,10 @@
|
||||||
<summary lang="uk_UA">Нативна інтеграція Plex в Kodi</summary>
|
<summary lang="uk_UA">Нативна інтеграція Plex в Kodi</summary>
|
||||||
<description lang="uk_UA">Підключає Kodi до серверу Plex. Цей плагін передбачає, що ви керуєте всіма своїми відео за допомогою Plex (і ніяк не Kodi). Ви можете втратити дані, які вже зберігаються у відео та музичних БД Kodi (оскільки цей плагін безпосередньо їх змінює). Використовуйте на свій страх і ризик!</description>
|
<description lang="uk_UA">Підключає Kodi до серверу Plex. Цей плагін передбачає, що ви керуєте всіма своїми відео за допомогою Plex (і ніяк не Kodi). Ви можете втратити дані, які вже зберігаються у відео та музичних БД Kodi (оскільки цей плагін безпосередньо їх змінює). Використовуйте на свій страх і ризик!</description>
|
||||||
<disclaimer lang="uk_UA">Використовуйте на свій ризик</disclaimer>
|
<disclaimer lang="uk_UA">Використовуйте на свій ризик</disclaimer>
|
||||||
<news>version 2.3.10:
|
<news>version 2.3.11 (beta only):
|
||||||
|
- Fix Kodi crash by committing to DB frequently
|
||||||
|
|
||||||
|
version 2.3.10:
|
||||||
- Compatibility with Kodi 18 Leia Beta 1
|
- Compatibility with Kodi 18 Leia Beta 1
|
||||||
- Update translations
|
- Update translations
|
||||||
- Make version 2.3.9 available for everyone
|
- Make version 2.3.9 available for everyone
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
version 2.3.11 (beta only):
|
||||||
|
- Fix Kodi crash by committing to DB frequently
|
||||||
|
|
||||||
version 2.3.10:
|
version 2.3.10:
|
||||||
- Compatibility with Kodi 18 Leia Beta 1
|
- Compatibility with Kodi 18 Leia Beta 1
|
||||||
- Update translations
|
- Update translations
|
||||||
|
|
|
@ -12,6 +12,11 @@ from . import sync_info
|
||||||
###############################################################################
|
###############################################################################
|
||||||
LOG = getLogger("PLEX." + __name__)
|
LOG = getLogger("PLEX." + __name__)
|
||||||
|
|
||||||
|
# Commit to DB happens only after leaving respective itemtypes context manager
|
||||||
|
# with item_fct() as item_class:
|
||||||
|
# After how many items shall we additionally commit? Otherwise, Kodi
|
||||||
|
# crashes if we sync thousands of items without a single commit.
|
||||||
|
COMMIT_AFTER_N_ITEMS = 1000
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,14 +62,12 @@ class ThreadedProcessMetadata(Thread):
|
||||||
LOG.debug('Processing thread started')
|
LOG.debug('Processing thread started')
|
||||||
# Constructs the method name, e.g. itemtypes.Movies
|
# Constructs the method name, e.g. itemtypes.Movies
|
||||||
item_fct = getattr(itemtypes, self.item_class)
|
item_fct = getattr(itemtypes, self.item_class)
|
||||||
# cache local variables because it's faster
|
n = 0
|
||||||
queue = self.queue
|
|
||||||
stopped = self.stopped
|
|
||||||
with item_fct() as item_class:
|
with item_fct() as item_class:
|
||||||
while stopped() is False:
|
while self.stopped() is False:
|
||||||
# grabs item from queue
|
# grabs item from queue
|
||||||
try:
|
try:
|
||||||
item = queue.get(block=False)
|
item = self.queue.get(block=False)
|
||||||
except Empty:
|
except Empty:
|
||||||
sleep(20)
|
sleep(20)
|
||||||
continue
|
continue
|
||||||
|
@ -83,6 +86,11 @@ class ThreadedProcessMetadata(Thread):
|
||||||
with sync_info.LOCK:
|
with sync_info.LOCK:
|
||||||
sync_info.PROCESS_METADATA_COUNT += 1
|
sync_info.PROCESS_METADATA_COUNT += 1
|
||||||
sync_info.PROCESSING_VIEW_NAME = item['title']
|
sync_info.PROCESSING_VIEW_NAME = item['title']
|
||||||
queue.task_done()
|
n += 1
|
||||||
|
if n == COMMIT_AFTER_N_ITEMS:
|
||||||
|
n = 0
|
||||||
|
item_class.plexconn.commit()
|
||||||
|
item_class.kodiconn.commit()
|
||||||
|
self.queue.task_done()
|
||||||
self.terminate_now()
|
self.terminate_now()
|
||||||
LOG.debug('Processing thread terminated')
|
LOG.debug('Processing thread terminated')
|
||||||
|
|
Loading…
Reference in a new issue