From 27c3e0d13c49433a225dc58a1cf8fddccb80b0e9 Mon Sep 17 00:00:00 2001 From: MoojMidge <56883549+MoojMidge@users.noreply.github.com> Date: Wed, 13 Sep 2023 03:15:22 +1000 Subject: [PATCH] Add backwords compatibility for Matrix --- .github/workflows/make-release.yml | 61 +++++++++++++++++++ .../kodion/impl/xbmc/xbmc_items.py | 16 ++++- .../kodion/impl/xbmc/xbmc_runner.py | 4 +- 3 files changed, 77 insertions(+), 4 deletions(-) diff --git a/.github/workflows/make-release.yml b/.github/workflows/make-release.yml index e456d6a8..d27df8dc 100644 --- a/.github/workflows/make-release.yml +++ b/.github/workflows/make-release.yml @@ -78,6 +78,45 @@ jobs: echo "filename=$filename" >> $GITHUB_OUTPUT working-directory: ${{ github.event.repository.name }} + - name: Create Zip (Matrix) + id: zip-matrix + run: | + git reset + git checkout . + git clean -fdx + mv .git .. + rm -rf .??* + rm *.md + version=$(xmlstarlet sel -t -v 'string(/addon/@version)' addon.xml) + xmlstarlet ed -L -u '/addon/requires/import[@addon="xbmc.python"]/@version' -v '3.0.0' addon.xml + xmlstarlet ed -L -d '/addon/requires/import[@addon="script.module.infotagger"]' addon.xml + filename=${{ github.event.repository.name }}-${version}.matrix.1.zip + cd .. + zip -r $filename ${{ github.event.repository.name }} + mv .git ${{ github.event.repository.name }} + echo "filename=$filename" >> $GITHUB_OUTPUT + working-directory: ${{ github.event.repository.name }} + + - name: Create Zip (Matrix-Unofficial) + id: zip-unofficial-matrix + run: | + git reset + git checkout . + git clean -fdx + git apply .patches/unofficial.patch + mv .git .. + rm -rf .??* + rm *.md + version=$(xmlstarlet sel -t -v 'string(/addon/@version)' addon.xml) + xmlstarlet ed -L -u '/addon/requires/import[@addon="xbmc.python"]/@version' -v '3.0.0' addon.xml + xmlstarlet ed -L -d '/addon/requires/import[@addon="script.module.infotagger"]' addon.xml + filename=${{ github.event.repository.name }}-unofficial-${version}.matrix.1.zip + cd .. + zip -r $filename ${{ github.event.repository.name }} + mv .git ${{ github.event.repository.name }} + echo "filename=$filename" >> $GITHUB_OUTPUT + working-directory: ${{ github.event.repository.name }} + - name: Create Release id: create-release uses: actions/create-release@v1 @@ -111,3 +150,25 @@ jobs: asset_name: ${{ steps.zip-unofficial-nexus.outputs.filename }} asset_path: ${{ steps.zip-unofficial-nexus.outputs.filename }} asset_content_type: application/zip + + - name: Upload Zip (Matrix) + id: upload-matrix + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create-release.outputs.upload_url }} + asset_name: ${{ steps.zip-matrix.outputs.filename }} + asset_path: ${{ steps.zip-matrix.outputs.filename }} + asset_content_type: application/zip + + - name: Upload Zip (Matrix-Unofficial) + id: upload-unofficial-matrix + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create-release.outputs.upload_url }} + asset_name: ${{ steps.zip-unofficial-matrix.outputs.filename }} + asset_path: ${{ steps.zip-unofficial-matrix.outputs.filename }} + asset_content_type: application/zip diff --git a/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_items.py b/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_items.py index 498eaf52..1ab84302 100644 --- a/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_items.py +++ b/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_items.py @@ -10,7 +10,21 @@ import xbmcgui -from infotagger.listitem import ListItemInfoTag +try: + from infotagger.listitem import ListItemInfoTag +except ImportError: + class ListItemInfoTag: + __slots__ = (__li__, ) + + def __init__(self, list_item): + self.__li__ = list_item + + def add_stream_info(self, *args, **kwargs): + return self.__li__.addStreamInfo(*args, **kwargs) + + def set_info(self, *args, **kwargs): + return self.__li__.setInfo(*args, **kwargs) + from ...items import VideoItem, AudioItem, UriItem from ... import utils diff --git a/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_runner.py b/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_runner.py index 60e03bb4..46fda8a7 100644 --- a/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_runner.py +++ b/resources/lib/youtube_plugin/kodion/impl/xbmc/xbmc_runner.py @@ -11,8 +11,6 @@ import xbmcgui import xbmcplugin -from infotagger.listitem import ListItemInfoTag - from ..abstract_provider_runner import AbstractProviderRunner from ...exceptions import KodionException from ...items import * @@ -95,7 +93,7 @@ class XbmcRunner(AbstractProviderRunner): item = xbmcgui.ListItem(label=directory_item.get_name(), offscreen=True) - info_tag = ListItemInfoTag(item, tag_type='video') + info_tag = xbmc_items.ListItemInfoTag(item, tag_type='video') # only set fanart is enabled if directory_item.get_fanart() and self.settings.show_fanart():