Merge pull request #1666 from croneter/python3-beta

Bump Python 3 master
This commit is contained in:
croneter 2021-10-17 11:39:15 +02:00 committed by GitHub
commit 741ae76cf9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 38 deletions

View file

@ -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="3.5.4" provider-name="croneter"> <addon id="plugin.video.plexkodiconnect" name="PlexKodiConnect" version="3.5.5" provider-name="croneter">
<requires> <requires>
<import addon="xbmc.python" version="3.0.0"/> <import addon="xbmc.python" version="3.0.0"/>
<import addon="script.module.requests" version="2.22.0+matrix.1" /> <import addon="script.module.requests" version="2.22.0+matrix.1" />
@ -91,7 +91,10 @@
<summary lang="ko_KR">Plex를 Kodi에 기본 통합</summary> <summary lang="ko_KR">Plex를 Kodi에 기본 통합</summary>
<description lang="ko_KR">Kodi를 Plex Media Server에 연결합니다. 이 플러그인은 Plex로 모든 비디오를 관리하고 Kodi로는 관리하지 않는다고 가정합니다. Kodi 비디오 및 음악 데이터베이스에 이미 저장된 데이터가 손실 될 수 있습니다 (이 플러그인이 직접 변경하므로). 자신의 책임하에 사용하십시오!</description> <description lang="ko_KR">Kodi를 Plex Media Server에 연결합니다. 이 플러그인은 Plex로 모든 비디오를 관리하고 Kodi로는 관리하지 않는다고 가정합니다. Kodi 비디오 및 음악 데이터베이스에 이미 저장된 데이터가 손실 될 수 있습니다 (이 플러그인이 직접 변경하므로). 자신의 책임하에 사용하십시오!</description>
<disclaimer lang="ko_KR">자신의 책임하에 사용</disclaimer> <disclaimer lang="ko_KR">자신의 책임하에 사용</disclaimer>
<news>version 3.5.4: <news>version 3.5.5:
- Lost patience with Kodi 19: drop use of Python multiprocessing entirely
version 3.5.4:
- Fix Receiving init() missing 1 required positional argument: certification_country - Fix Receiving init() missing 1 required positional argument: certification_country
- Update translations from Transifex - Update translations from Transifex

View file

@ -1,3 +1,6 @@
version 3.5.5:
- Lost patience with Kodi 19: drop use of Python multiprocessing entirely
version 3.5.4: version 3.5.4:
- Fix Receiving init() missing 1 required positional argument: certification_country - Fix Receiving init() missing 1 required positional argument: certification_country
- Update translations from Transifex - Update translations from Transifex

View file

@ -247,12 +247,10 @@ def show_listing(xml, plex_type=None, section_id=None, synched=True, key=None):
widgets.KEY = key widgets.KEY = key
# Process all items to show # Process all items to show
all_items = mass_api(xml) all_items = mass_api(xml)
all_items = utils.process_method_on_list(widgets.generate_item, all_items) all_items = [widgets.generate_item(api) for api in all_items]
all_items = utils.process_method_on_list(widgets.prepare_listitem, all_items = [widgets.prepare_listitem(item) for item in all_items]
all_items)
# fill that listing... # fill that listing...
all_items = utils.process_method_on_list(widgets.create_listitem, all_items = [widgets.create_listitem(item) for item in all_items]
all_items)
xbmcplugin.addDirectoryItems(int(sys.argv[1]), all_items, len(all_items)) xbmcplugin.addDirectoryItems(int(sys.argv[1]), all_items, len(all_items))
# end directory listing # end directory listing
xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_UNSORTED)

View file

@ -21,17 +21,6 @@ import xml.etree.ElementTree as undefused_etree
from functools import wraps from functools import wraps
import re import re
import gc import gc
try:
from multiprocessing.pool import ThreadPool
# Annyoing Kodi bug on Android, introduced with
# https://github.com/xbmc/xbmc/pull/20034
# See https://github.com/croneter/PlexKodiConnect/issues/1641
with ThreadPool():
pass
SUPPORTS_POOL = True
except Exception:
SUPPORTS_POOL = False
import xbmc import xbmc
import xbmcaddon import xbmcaddon
@ -864,26 +853,6 @@ class XmlKodiSetting(object):
return element return element
def process_method_on_list(method_to_run, items):
"""
helper method that processes a method on each item with pooling if the
system supports it
"""
all_items = []
if SUPPORTS_POOL:
pool = ThreadPool()
with ThreadPool() as pool:
try:
all_items = pool.map(method_to_run, items)
except Exception:
# catch exception to prevent threadpool running forever
ERROR(notify=True)
else:
all_items = [method_to_run(item) for item in items]
all_items = [_f for _f in all_items if _f]
return all_items
############################################################################### ###############################################################################
# WRAPPERS # WRAPPERS