willforde / script.module.codequick

Kodi addon framework
GNU General Public License v2.0
33 stars 6 forks source link

Kodi 19 Support Status #44

Closed iMro0t closed 3 years ago

iMro0t commented 3 years ago

What is the current status of Kodi 19 support?

I can see there is a dedicated branch of Matrix https://github.com/willforde/script.module.codequick/tree/v19 but the last commit was in Nov 2020.

sy6sy2 commented 3 years ago

Hi, Allow me to answer you before willforde. CodeQuick already works for Kodi 19 but CQ depends on Youtube-DL and Youtube-DL is still not available on Matrix repo. BUT, since some days ruuk (the original author of Youtube-DL script) allowed me to "take the control" over YT-DL. This why I opened a PR here https://github.com/xbmc/repo-scripts/pull/1836 last week. I was a bit busy since some days but I will try to apply the needed modification before the end of the week so that willforde will be able to submit CodeQuick 😉

cc @willforde @wwark

willforde commented 3 years ago

That's great thanks. I have a few changes coming with the update too.

sy6sy2 commented 3 years ago

Youtube-DL is now on repo matrix 😉

willforde commented 3 years ago

Great news. I have the update ready to go but I can't test the changes that I have made with Kodi Matrix. I don't have windows, only Arch Linux and still waiting for them to update Kodi to v19. I tried to compile it but after 3+ hours it failed.

So I can either submit and hope for the best or maybe someone can test it for me. :wink: The version in the matrix branch is the same as master but with the required addon.xml changes.

I have added support for Listitem caching, and changed urlquick to be a wrapper for requests but with the same caching system. You can enable Listitem caching by setting a "cache_ttl" keyword only argument when registering a callback.

@Route.register(cache_ttl=60)  # time in minutes
def root(plugin):
    pass
sy6sy2 commented 3 years ago

Great news! Thank you very munch for this quick update! I can test it in 1 hour 😉

sy6sy2 commented 3 years ago

I have this when using a "Search Listitem":

2021-02-26 08:07:59.265 T:2273604   ERROR <general>: [Catch-up-TV-&-More.support] Unexpected return object: <class 'filter'>
                                                   Traceback (most recent call last):
                                                     File "/Users/sylvain/Library/Application Support/Kodi/addons/script.module.codequick/lib/codequick/support.py", line 306, in run_callback
                                                       redirect = parent_ins(route, arg_params, self.callback_params)
                                                     File "/Users/sylvain/Library/Application Support/Kodi/addons/script.module.codequick/lib/codequick/route.py", line 195, in __call__
                                                       session_data = self._process_results(results)
                                                     File "/Users/sylvain/Library/Application Support/Kodi/addons/script.module.codequick/lib/codequick/route.py", line 209, in _process_results
                                                       listitems = validate_listitems(results)
                                                     File "/Users/sylvain/Library/Application Support/Kodi/addons/script.module.codequick/lib/codequick/route.py", line 51, in validate_listitems
                                                       raise ValueError("Unexpected return object: {}".format(type(raw_listitems)))
                                                   ValueError: Unexpected return object: <class 'filter'>
willforde commented 3 years ago

Thanks sy6sy2. I have that issue fixed now. If you could test it one last time for me that would be great.

sy6sy2 commented 3 years ago

I will do now, thank you for the quick fix!

sy6sy2 commented 3 years ago

I did not notice any bug, thank you willforde, go submit 🚀 😜

BTW, did you document the "Listitem caching" feature somewhere, I'am wondering what's this thing 😉

willforde commented 3 years ago

Great thanks. I have not documented any changes yet. That's next on my todo list. The Listitem caching will allow you to cache callback results for a given time period. The listitems are stored in SQLite. By default this feature is disabled until you pass in the "cache_ttl" parameter.

willforde commented 3 years ago

The pull requests have been created. Will let you all know when it has been accepted and merged.

willforde commented 3 years ago

The update has been merged to both krypton and matrix. Enjoy. :smile: