bugatsinho / bugatsinho.github.io

Bugatsinho New Repository
GNU General Public License v3.0
77 stars 41 forks source link

Cartoonsgr not starting on kodi 18 #127

Closed pitsi closed 11 months ago

pitsi commented 1 year ago

As mentioned in the title, cartoonsgr fails to start on kodi 18 and pops this in the log

2023-07-18 08:34:57.894 T:140636034828032   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.AttributeError'>
                                            Error Contents: __exit__
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.cartoonsgr/default.py", line 70, in <module>
                                                GAMATO = get_gamdomain()  #control.setting('gamato.domain') #or 'https://gmtv.co/'  # 'https://gamatokid.com/'
                                              File "/storage/.kodi/addons/plugin.video.cartoonsgr/default.py", line 64, in get_gamdomain
                                                with xbmcvfs.File(gmtfile, 'w') as f:
                                            AttributeError: __exit__
                                            -->End of Python script error report<--
2023-07-18 08:34:57.999 T:140636137117440   ERROR: GetDirectory - Error getting plugin://plugin.video.cartoonsgr/
2023-07-18 08:34:58.007 T:140637511981184   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.cartoonsgr/) failed

I don't know when it broke, because my niece told me it is broken just yesterday. I assume it has to do with python2 of kodi 18, because it works fine on kodi 19+ that uses python3. It also happens on a fresh installation of the addon, so it is not some broken setting.

bugatsinho commented 1 year ago

Hi mate, didn't get any feedback from other users about such an error. I will revise but have in mind that addon works on 18/19/20.

bugatsinho commented 1 year ago

I get the error too but xbmcvfs is also available in Kodi18 image So I'm not sure why is happening. I have to investigate more. Thanks for the feedback. Are you going to upgrade the kodi version in your niece device?

pitsi commented 1 year ago

Sadly, it is an old s805 tvbox (the all black mxq) that runs libreelec-aml 9.2.8.x (x marks the minor updates its maintainer makes every month or so) from its emmc and there are no plans for further upgrades (from the libreelec project that is). Old socs work with old kernels only (e.g that one runs 3.14.8) need old libs and compilers to work, so no one wants to stick to them for more than a few years. That is totally understandable for me.

Moreover, the log above is from MY libreelec 9.2.6 x64 installation and on a fresh installation of cartoonsgr, so yea, it happens on more than one system. It is a long story why I still use it on my "old system that serves as a small media center", but lets say kodi 19 and newer versions have playback issues that I can not solve. And I can not install kodi 18 on my main linux system so as to check. I wish I could understand more about python to help you though.

Last but not least, and tbh, I tried commenting out those problematic lines mentioned in the error, but then it comes up with new lines, so it becomes a cat and mouse game :P

pitsi commented 1 year ago

Noob question: can't you define the gamato variable just like the teniesonline one below it, so as to remove the get_gamdomain function all together?

I am off to try it now.

---edit Hey it worked! Changing this GAMATO = get_gamdomain() #control.setting('gamato.domain') #or 'https://gmtv.co/' # 'https://gamatokid.com/' to GAMATO = control.setting('gamato.domain') #or 'https://gmtv.co/' # 'https://gamatokid.com/' made the addon launch again! I also tested its submenus and a random movie and it did play.

bugatsinho commented 1 year ago

And Everytime they change domain have to update the addon🤔 I tried to change the function and make it work for kodi18 but failed in 19/20

Sent from Proton Mail for iOS

On Mon, Jul 31, 2023 at 11:07, pitsi @.***(mailto:On Mon, Jul 31, 2023 at 11:07, pitsi < wrote:

Noob question: can't you define the gamato variable just like the teniesonline one below it, so as to remove the get_gamdomain function all together?

I am off to try it now.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

pitsi commented 1 year ago

How often do they change the domain? I assume that you can change to the new url in the settings and have the addon force-restore to defaults every time it updates.

kolekan commented 1 year ago

@bugatsinho check this https://github.com/bugatsinho/bugatsinho.github.io/pull/129

bugatsinho commented 1 year ago

@bugatsinho check this https://github.com/bugatsinho/bugatsinho.github.io/pull/129

Did you read above my answer. The code you changed works on kodi18 but no on kodi19

kolekan commented 1 year ago

@bugatsinho check this #129

Did you read above my answer. The code you changed works on kodi18 but no on kodi19

already tested it on KODI 18, 19, 20 android

bugatsinho commented 1 year ago

@kolekan In my set up isn't running the addon (iMac). let's do the merge and i will push the update mate! Hope it will work cause if an error comes up, I'll check it again in a week. haha

pitsi commented 1 year ago

So the whole issue was created by the greek characters in the url? I knew that python2 dislikes anything that is not english or utf8, but sites that do use non-english or non-utf8 in their urls in 2023 can seriously go f themselves.

pitsi commented 1 year ago

Fixed with v1.0.43. The update was posted yesterday, but it just reached my system so as to check it.

pitsi commented 11 months ago

The entry for gamato did not work on my end (libreelec 9.2.x x64, kodi 18.9) earlier and popped this error

2023-09-15 06:45:51.975 T:140509912188672   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.UnicodeDecodeError'>
                                            Error Contents: 'ascii' codec can't decode byte 0xcf in position 0: ordinal not in range(128)
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.cartoonsgr/default.py", line 1109, in <module>
                                                gamatokids()
                                              File "/storage/.kodi/addons/plugin.video.cartoonsgr/default.py", line 110, in gamatokids
                                                addDir('[B][COLOR yellow]Family[/COLOR][/B]', GAMATO + six.ensure_str('χριστουγεννιάτικες'), 4, ART + 'top.png', FANART, '')
                                            UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 0: ordinal not in range(128)
                                            -->End of Python script error report<--

So I checked if gamato's url under settings, and it leads to the .info domain. Then I rebooted, but now the addon fails to launch completely and the same error as the one above came up in the log

2023-09-15 07:24:14.644 T:140401222588160   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.AttributeError'>
                                            Error Contents: __exit__
                                            Traceback (most recent call last):
                                              File "/storage/.kodi/addons/plugin.video.cartoonsgr/default.py", line 74, in <module>
                                                GAMATO = get_gamdomain()  #control.setting('gamato.domain') #or 'https://gmtv.co/'  # 'https://gamatokid.com/'
                                              File "/storage/.kodi/addons/plugin.video.cartoonsgr/default.py", line 50, in get_gamdomain
                                                with xbmcvfs.File(gmtfile, 'r') as f:
                                            AttributeError: __exit__
                                            -->End of Python script error report<--

The info domain is parsed correctly in gamato_url.txt, but it is not added in settings.xml. I don't know if the addon prefers the url from the txt file over the one from the xml one, I just mention it. Tbh, I had not launched cartoonsgr since the 1.0.43 update.

# cat .kodi/userdata/addon_data/plugin.video.cartoonsgr/gamato_url.txt
https://gamatotv.info/

# cat .kodi/userdata/addon_data/plugin.video.cartoonsgr/settings.xml
<settings version="2">
    <setting id="auto-view">true</setting>
    <setting id="downloads" default="true">false</setting>
    <setting id="gamato.domain" default="true">https://gamatotv.best/</setting>
    <setting id="menu-view" default="true">List</setting>
    <setting id="movie-view" default="true">List</setting>
    <setting id="movie.download.path" default="true"></setting>
    <setting id="tenies.domain" default="true">https://tenies-online1.gr/</setting>
    <setting id="tv.download.path" default="true"></setting>
pitsi commented 11 months ago

Changing the url to the correct one in settings does not make any difference. Removing all settings or reinstalling it wihout keeping them does not make any difference. Before reinstalling, once the addon crashes with the error above, it even fails to get to its settings menu entry!

pitsi commented 11 months ago

I found it. Commenting out line 110, or reverting it to its v1.0.45 state, where it had the utf8 encoded string of οικογένεια instead of χριστουγεννιάτικες that it has now, makes the addon work again. It also works if you replace οικογένεια to its utf8 encoded string. %CF%87%CF%81%CE%B9%CF%83%CF%84%CE%BF%CF%85%CE%B3%CE%B5%CE%BD%CE%BD%CE%B9%CE%AC%CF%84%CE%B9%CE%BA%CE%B5%CF%82

And once more, sites that do use non-english or non-utf8 characters in their urls in 2023 can seriously go f themselves.

bugatsinho commented 11 months ago

They change category names every month😅 I will updated ASAP Thanks🙏

bugatsinho commented 11 months ago

Also what version do you have cause latest is 1.0.46 and in kodi20 works fine. Also family category doesn't work! So only dubbed and animations. Website doesn't give permission to get the content and redirect request in main domain. We found out another way though that needs work to do as i have to change or rewrite the code!

pitsi commented 11 months ago

1.0.46.

The problem is not the addon itself, it is python2, used on kodi up to 18, that dislikes non-utf8 encoded stuff. Python3, used by kodi 19 and newer, does not have these... flaws, it is built with 21st century stuff in mind.

pitsi commented 11 months ago

Here is an idea. Since there is no other domain of gamato that has cartoons only, why don't you just make the addon only scrape the /paidika page of it and call it a day? Because as it seems, those non-utf8 characters they choose for the categories' urls will be an issue for every new version of the addon when it is run with python2.

Last but not least, since the domain itself is taken from gamatostatus.com every single time the addon launches, is there a need to have an option for it in the settings?

pitsi commented 11 months ago

Fixed with 1.0.47. From now on, I will keep an eye on future commits for greek characters :D

If there is an email to contact the page owners and ask them to make all urls with english only characters, please tell me. Out of the 3 gamato domains, only one offers a way to contact the owners and it is not the one scrapped by the addon.

Arthur1967 commented 5 months ago

I wasn't trying to criticize. I would just update my system, but you do what you want. Have a good day, my friend.