thomas-ernest / plugin.video.arteplussept

Watch Arte+7 content in Kodi
GNU General Public License v2.0
6 stars 4 forks source link

No original version ? #31

Open Vinnythetrue opened 1 year ago

Vinnythetrue commented 1 year ago

Is there any plans in the near future to support original versions ? I cannot find any way to force it, videos available in my language (fr) are launched in fr dubbed, and video options are never displayed...

One more thing : if I change the language setting to english for instance, hoping that so movies will play in original version, I get a completely different home page in which movie category doesn't even show up...

jossel1 commented 11 months ago

Hi, thank you for this great plugin! I would like to contribute to the project solving the @Vinnythetrue issue, has someone a starter to help me develop a solution?

@thomas-ernest do you think the dev will be impacted by changing the xbmc framework as mentionned here?

thomas-ernest commented 11 months ago

Hello @jossel1 ,

Framework migration mentioned in issue #30 is expected to be transparent for end-user. It should not fix this issue. Both issues are independant. Why issue #30 ? To benefit from a better dev experience : more recent framework with more activity and support compatible with Python 3 basically. If needed, we should discuss further in issue #30.

Here, the goal is to have multiple language content in the plugin. Arte.tv API doesn't really provide that. The API provides m3u8 streams with a single language per stream.

The piece of settings "show as streams" https://github.com/thomas-ernest/plugin.video.arteplussept/blob/master/resources/lib/settings.py#L24 was added in order to add a menu with available mono-language streams to emulate content with multi-language audio and subtibles. A bug may have been introduced recently in this feature around https://github.com/thomas-ernest/plugin.video.arteplussept/blob/master/resources/lib/mapper/mapper.py#L29 or in https://github.com/thomas-ernest/plugin.video.arteplussept/blob/master/resources/lib/mapper/arteitem.py. Not sure it is @Vinnythetrue 's (second) issue though. @Vinnythetrue ? Do you have "Show as stream" enabled or not ?

For the multiple language support I started https://github.com/thomas-ernest/plugin.video.arteplussept/tree/feature/arte_tv_multilang where I rebuilt a m3u8 playlist from multiple Arte TV API streams, but then the content is no more seekable. I focused on audio and ignored subtitles. I think there are more users seeking content than looking for multiple language support, so I haven't merged it. You might try this code though, if you're curious. :)

Vinnythetrue commented 11 months ago

Hello,

That would be really great @jossel1 ! I made something on an older version of the plugin but on a really old version (the one this project is forked from), so I guess it's completely irrelevant now. I never published anything because some things were hardcoded if I remember correctly. It appeared to me that the API of Arte seems to be quite a p**e of st, and just to get the different subtitle/audio languages is a pain, and each combination is a new streaming (they never heard of containers apparently). Anyway, I have to say that I'm eager to see the feature implemented yet I don't have much time or energy to put into it myself...

@thomas-ernest I don't think I enabled that setting, should I define it in advancedsettings.xml ? I would like to test it !

thomas-ernest commented 11 months ago

Hello @Vinnythetrue ,

The settings are available from the UI for addon settings, section General AFAIK. It is a toggle. Off by default. If you enable it, you will likely report bugs. Mind logs, please 😉

Best regards

Vinnythetrue commented 11 months ago

Wait a second, I'm configured in french, it's "Afficher les options de flux vidéo" ? If it is, I have indeed that option checked, but I never understood what it does, because it doesn't seem to do anything... The plugin doesn't show me any option when I launch a video...

I just wanted to make sure of this statement by launching an actual movie, something I'm assuming is available in multiple language, but now the extension gives my an error whenever I try to open "all movies" from the home.

Logs of the error :

`2023-10-17 23:37:19.071 T:5926 warning : [xbmcswift2] No converter provided, unicode should be used, but returning str value 2023-10-17 23:37:19.102 T:5926 info : [xbmcswift2] Request for "/cached_category/9ee9b6f1-facc-4308-81ed-e43a9b4e6a15" matches rule for function "cached_category" 2023-10-17 23:37:19.160 T:5926 error : EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--

2023-10-17 23:37:19.455 T:5924 error : GetDirectory - Error getting plugin://plugin.video.arteplussept/cached_category/9ee9b6f1-facc-4308-81ed-e43a9b4e6a15 2023-10-17 23:37:19.470 T:696 error : CGUIMediaWindow::GetDirectory(plugin://plugin.video.arteplussept/cached_category/9ee9b6f1-facc-4308-81ed-e43a9b4e6a15) failed`

thomas-ernest commented 11 months ago

Hello @Vinnythetrue ,

I confirm the support for multi-language streams driven by this parameter has been lost after refactorings introduced around 1.3.0 I guess. I am not sure the bug you reported is related to this feature / parameter. Nevertheless, I would like to investigate the bug deeper, before having a look at the multi-language feature / parameter.

Basically, when you start the addon, arte tv home page is downloaded. The home page returns many zones. Some with full details, some just with a link/id to get details. Fully detailed zone are stored as cached categories. Then you try to open a menu, but it fails to loqd the cached category. Please correct me if I am wrong.

Did you wait a bit between loading the home page and opening a category / zone or playing a video ? Normally categories are stored in cache for 60min. If not, can you tell me which language is setup in addon settings and which content are you trying to watch ? In language "fr", I see "Tous les films" > "Erased" for instance. I don't see "all movies".

Can you activate API logs please ? For that you need to enable debug logging in Kodi > Settings > System > Logging > toggle "debug logging" + API logs in addon settings > General > Log level > Set "API". Then you go into Kodi addon storage : ${KODI_DATA_FOLDER_PATH}\userdata\addon_data\plugin.video.arteplussept.storage with KODI_DATA_FOLDER_PATH depending on your OS and user : https://kodi.wiki/view/Kodi_data_folder Once you have started the addon, you must be able to see a log file like 20231023_215120539306_artetv_home.json. You navigate to the content generating the error and you share with me kodi.log also please.

Please share the API log 202310__artetv_home.json and the same exception as above from kodi.log, so that I investigate.

thomas-ernest commented 11 months ago

Hello @Vinnythetrue , Please find a candidate PR to implement multilanguage support the way I see it. It is not fully done but I want to gather your feedback along the way please. Are you able to test an not-yet-officla version by chance please ?

Please note :

thomas-ernest commented 11 months ago

I am ready for PR review and user feedback. It is possible to download and install the zip to test : https://github.com/thomas-ernest/plugin.video.arteplussept/archive/refs/heads/feature/31_multilanguage_in_context_menu.zip

maaaaz commented 9 months ago

Hello @thomas-ernest,

As I am facing the same bug (no ability to choose foreign audio languages), I installed the zip file from the above comment, with the following parameters:

It does not work, I cannot even list medias to play, when I select for instance "Toutes les series" ("all series", whose id is ede95ebb-511c-4c73-a7e5-6b098fbd5f00), it does nothing except saying that an error occurred:

kodi.log: same KeyError bug as @Vinnythetrue:

2023-12-16 11:30:20.955 T:8112    debug <general>: ------ Window Deinit (DialogAddonInfo.xml) ------
2023-12-16 11:30:20.963 T:8112    debug <general>: ------ Window Init (MyVideoNav.xml) ------
2023-12-16 11:30:20.982 T:8112    error <general>: Control 55 in window 10025 has been asked to focus, but it can't
2023-12-16 11:30:20.997 T:8112    debug <general>: CGUIMediaWindow::GetDirectory (plugin://plugin.video.arteplussept/)
2023-12-16 11:30:20.997 T:8112    debug <general>:   ParentPath = [plugin://plugin.video.arteplussept/]
2023-12-16 11:30:20.998 T:8223    debug <general>: Thread JobWorker start, auto delete: true
2023-12-16 11:30:21.002 T:8112    debug <general>: Loading items: 23, directory: plugin://plugin.video.arteplussept/ sort method: 0, ascending: false
2023-12-16 11:30:21.006 T:8223    debug <general>: CAddonDatabase::SetLastUsed[plugin.video.arteplussept] took 8 ms
2023-12-16 11:30:21.007 T:8224    debug <general>: Thread JobWorker start, auto delete: true
2023-12-16 11:30:21.016 T:8225    debug <general>: Thread BackgroundLoader start, auto delete: false
2023-12-16 11:30:21.029 T:8223    debug <general>: ffmpeg[0x87046d00]: [image2] Custom AVIOContext makes no sense and will be ignored with AVFMT_NOFILE format.
2023-12-16 11:30:21.033 T:8225    debug <general>: Thread BackgroundLoader -1882781328 terminating
2023-12-16 11:30:21.042 T:8223    debug <general>: ffmpeg[0x87046d00]: [swscaler] No accelerated colorspace conversion found from yuv420p to bgra.
2023-12-16 11:30:22.519 T:8112    debug <general>: Keyboard: scancode: 0x17, sym: 0x0d, unicode: 0x00, modifier: 0x0
2023-12-16 11:30:22.647 T:8112     info <general>: Skipped 1 duplicate messages..
2023-12-16 11:30:22.647 T:8112    debug <general>: HandleKey: return (0xf00d) pressed, window 10025, action is Select
2023-12-16 11:30:22.650 T:8112    debug <general>: CGUIMediaWindow::GetDirectory (plugin://plugin.video.arteplussept/cached_category/ede95ebb-511c-4c73-a7e5-6b098fbd5f00)
2023-12-16 11:30:22.650 T:8112    debug <general>:   ParentPath = [plugin://plugin.video.arteplussept/]
2023-12-16 11:30:22.651 T:8226    debug <general>: Thread waiting start, auto delete: false
2023-12-16 11:30:22.656 T:8224    debug <general>: CAddonDatabase::SetLastUsed[plugin.video.arteplussept] took 6 ms
2023-12-16 11:30:22.656 T:8226    debug <general>: CScriptRunner: running add-on script Arte +7('plugin://plugin.video.arteplussept/cached_category/ede95ebb-511c-4c73-a7e5-6b098fbd5f00', '4', '')
2023-12-16 11:30:22.657 T:8227    debug <general>: Thread LanguageInvoker start, auto delete: false
2023-12-16 11:30:22.658 T:8227    debug <general>: initializing python engine.
2023-12-16 11:30:22.658 T:8227    debug <general>: CPythonInvoker(4, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py): start processing
2023-12-16 11:30:22.715 T:8227    debug <general>: -->Python Interpreter Initialized<--
2023-12-16 11:30:22.715 T:8227    debug <general>:

2023-12-16 11:30:22.715 T:8227    debug <general>: CPythonInvoker(4, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py): the source file to load is "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py"
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4): full python path:
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):   custom python path:
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.certifi/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.chardet/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.dateutil/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.idna/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.requests/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.six/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.urllib3/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.xbmcswift2/lib
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):   default python path:
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /data/user/0/org.xbmc.kodi/cache/apk/assets/python3.11/lib/python311.zip
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /data/user/0/org.xbmc.kodi/cache/apk/assets/python3.11
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /data/user/0/org.xbmc.kodi/cache/apk/assets/python3.11/site-packages
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /data/user/0/org.xbmc.kodi/cache/apk/assets/python3.11/lib/python3.11
2023-12-16 11:30:22.716 T:8227    debug <general>: CPythonInvoker(4):     /data/user/0/org.xbmc.kodi/cache/apk/assets/python3.11/lib/python3.11/lib-dynload
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4):     /data/user/0/org.xbmc.kodi/cache/apk/assets/python3.11/lib/python3.11/site-packages
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4):     /data/user/0/org.xbmc.kodi/cache/apk/assets/python3.11/lib/python3.11/site-packages/setuptools-65.5.0.post20230629-py3.11.egg
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4): adding args:
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4):  plugin://plugin.video.arteplussept/cached_category/ede95ebb-511c-4c73-a7e5-6b098fbd5f00
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4):  4
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4):
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4):  resume:false
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py): entering source directory /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept
2023-12-16 11:30:22.717 T:8227    debug <general>: CPythonInvoker(4, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py): instantiating addon using automatically obtained id of "plugin.video.arteplussept" dependent on version 3.0.0 of the xbmc.python api
2023-12-16 11:30:22.752 T:8112    debug <general>: ------ Window Init (DialogBusy.xml) ------
2023-12-16 11:30:24.005 T:8227    debug <CAddonSettings[0@plugin.video.arteplussept]>: trying to load setting definitions from old format...
2023-12-16 11:30:24.007 T:8227  warning <general>: [xbmcswift2] No converter provided, unicode should be used, but returning str value
2023-12-16 11:30:24.008 T:8227    debug <general>: [xbmcswift2] Adding url rule "/" named "index" pointing to function "index"
2023-12-16 11:30:24.010 T:8227    debug <general>: [xbmcswift2] Adding url rule "/api_category/<category_code>" named "api_category" pointing to function "api_category"
2023-12-16 11:30:24.011 T:8227    debug <general>: [xbmcswift2] Adding url rule "/cached_category/<zone_id>" named "cached_category" pointing to function "cached_category"
2023-12-16 11:30:24.013 T:8227    debug <general>: [xbmcswift2] Adding url rule "/category_page/<zone_id>/<page>/<page_id>" named "category_page" pointing to function "category_page"
2023-12-16 11:30:24.015 T:8227    debug <general>: [xbmcswift2] Adding url rule "/play_collection/<kind>/<collection_id>" named "play_collection" pointing to function "play_collection"
2023-12-16 11:30:24.016 T:8227    debug <general>: [xbmcswift2] Adding url rule "/favorites/<page>" named "favorites" pointing to function "favorites"
2023-12-16 11:30:24.017 T:8227    debug <general>: [xbmcswift2] Adding url rule "/favorites" named "favorites_default" pointing to function "favorites"
2023-12-16 11:30:24.019 T:8227    debug <general>: [xbmcswift2] Adding url rule "/add_favorite/<program_id>/<label>" named "add_favorite" pointing to function "add_favorite"
2023-12-16 11:30:24.020 T:8227    debug <general>: [xbmcswift2] Adding url rule "/remove_favorite/<program_id>/<label>" named "remove_favorite" pointing to function "remove_favorite"
2023-12-16 11:30:24.021 T:8227    debug <general>: [xbmcswift2] Adding url rule "/purge_favorites" named "purge_favorites" pointing to function "purge_favroties"
2023-12-16 11:30:24.023 T:8227    debug <general>: [xbmcswift2] Adding url rule "/mark_as_watched/<program_id>/<label>" named "mark_as_watched" pointing to function "mark_as_watched"
2023-12-16 11:30:24.024 T:8227    debug <general>: [xbmcswift2] Adding url rule "/last_viewed/<page>" named "last_viewed" pointing to function "last_viewed"
2023-12-16 11:30:24.025 T:8227    debug <general>: [xbmcswift2] Adding url rule "/last_viewed" named "last_viewed_default" pointing to function "last_viewed"
2023-12-16 11:30:24.026 T:8227    debug <general>: [xbmcswift2] Adding url rule "/purge_last_viewed" named "purge_last_viewed" pointing to function "purge_last_viewed"
2023-12-16 11:30:24.027 T:8227    debug <general>: [xbmcswift2] Adding url rule "/display_collection/<kind>/<program_id>" named "display_collection" pointing to function "display_collection"
2023-12-16 11:30:24.028 T:8227    debug <general>: [xbmcswift2] Adding url rule "/play_live/<stream_url>" named "play_live" pointing to function "play_live"
2023-12-16 11:30:24.030 T:8227    debug <general>: [xbmcswift2] Adding url rule "/play/<kind>/<program_id>/<audio_slot>/<from_playlist>" named "play_siblings" pointing to function "play"
2023-12-16 11:30:24.031 T:8227    debug <general>: [xbmcswift2] Adding url rule "/play/<kind>/<program_id>/<audio_slot>" named "play_specific" pointing to function "play"
2023-12-16 11:30:24.033 T:8227    debug <general>: [xbmcswift2] Adding url rule "/play/<kind>/<program_id>" named "play" pointing to function "play"
2023-12-16 11:30:24.034 T:8227    debug <general>: [xbmcswift2] Adding url rule "/search" named "search_default" pointing to function "search_default"
2023-12-16 11:30:24.036 T:8227    debug <general>: [xbmcswift2] Adding url rule "/search/<zone_id>/<page>/<query>" named "search" pointing to function "search_page"
2023-12-16 11:30:24.037 T:8227    debug <general>: [xbmcswift2] Adding url rule "/user/login" named "user_login" pointing to function "user_login"
2023-12-16 11:30:24.038 T:8227    debug <general>: [xbmcswift2] Adding url rule "/user/logout" named "user_logout" pointing to function "user_logout"
2023-12-16 11:30:24.039 T:8227    debug <general>: [xbmcswift2] Handling incoming request for /cached_category/ede95ebb-511c-4c73-a7e5-6b098fbd5f00
2023-12-16 11:30:24.040 T:8227     info <general>: [xbmcswift2] Request for "/cached_category/ede95ebb-511c-4c73-a7e5-6b098fbd5f00" matches rule for function "cached_category"
2023-12-16 11:30:24.041 T:8227    debug <general>: [xbmcswift2] Reading pickle storage from disk at "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.arteplussept/.storage/cached_categories"
2023-12-16 11:30:24.042 T:8227    debug <general>: [xbmcswift2] Loaded storage "cached_categories" from disk
2023-12-16 11:30:24.052 T:8227    error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'KeyError'>
                                                   Error Contents: 'ede95ebb-511c-4c73-a7e5-6b098fbd5f00'
                                                   Traceback (most recent call last):
                                                     File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py", line 243, in <module>
                                                       plugin.run()
                                                     File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.xbmcswift2/lib/xbmcswift2/plugin.py", line 338, in run
                                                       items = self._dispatch(self.request.path)
                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.xbmcswift2/lib/xbmcswift2/plugin.py", line 312, in _dispatch
                                                       listitems = view_func(**items)
                                                                   ^^^^^^^^^^^^^^^^^^
                                                     File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py", line 62, in cached_category
                                                       return view.get_cached_category(zone_id, plugin.get_storage('cached_categories', TTL=CACHE_TTL))
                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                     File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/resources/lib/view.py", line 51, in get_cached_category
                                                       return cached_categories[zone_id]
                                                              ~~~~~~~~~~~~~~~~~^^^^^^^^^
                                                     File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.module.xbmcswift2/lib/xbmcswift2/storage.py", line 174, in __getitem__
                                                       val, timestamp = self._items[key]
                                                                        ~~~~~~~~~~~^^^^^
                                                   KeyError: 'ede95ebb-511c-4c73-a7e5-6b098fbd5f00'
                                                   -->End of Python script error report<--

2023-12-16 11:30:24.052 T:8227    debug <general>: onExecutionDone(4, /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.arteplussept/addon.py)
2023-12-16 11:30:24.066 T:8112    debug <general>: ------ Window Init (DialogNotification.xml) ------
2023-12-16 11:30:24.087 T:8227    debug <general>: .
2023-12-16 11:30:24.257 T:8227     info <general>: Skipped 4 duplicate messages..
2023-12-16 11:30:24.257 T:8227    debug <general>: Python interpreter stopped
2023-12-16 11:30:24.257 T:8227    debug <general>: Thread LanguageInvoker -2054661776 terminating
2023-12-16 11:30:24.267 T:8226    error <general>: GetDirectory - Error getting plugin://plugin.video.arteplussept/cached_category/ede95ebb-511c-4c73-a7e5-6b098fbd5f00
2023-12-16 11:30:24.268 T:8226    debug <general>: Thread waiting -2091144848 terminating
2023-12-16 11:30:24.279 T:8112    debug <general>: ------ Window Deinit (DialogBusy.xml) ------
2023-12-16 11:30:24.282 T:8112    error <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.arteplussept/cached_category/ede95ebb-511c-4c73-a7e5-6b098fbd5f00) failed
2023-12-16 11:30:24.282 T:8112    debug <general>: CGUIMediaWindow::GetDirectory (plugin://plugin.video.arteplussept/)
2023-12-16 11:30:24.282 T:8112    debug <general>:   ParentPath = [plugin://]
2023-12-16 11:30:24.286 T:8112    debug <general>: Loading items: 23, directory: plugin://plugin.video.arteplussept/ sort method: 0, ascending: false
2023-12-16 11:30:24.292 T:8224    debug <general>: CAddonDatabase::SetLastUsed[plugin.video.arteplussept] took 9 ms
2023-12-16 11:30:24.300 T:8228    debug <general>: Thread BackgroundLoader start, auto delete: false
2023-12-16 11:30:24.316 T:8228    debug <general>: Thread BackgroundLoader -1882781328 terminating
2023-12-16 11:30:30.272 T:8112    debug <general>: ------ Window Deinit (DialogNotification.xml) ------
2023-12-16 11:30:54.312 T:8224    debug <general>: Thread JobWorker -2053621392 terminating (autodelete)
2023-12-16 11:30:54.313 T:8223    debug <general>: Thread JobWorker -2052581008 terminating (autodelete)

When I enable API debug logs in the API, I cannot even start the extension, it says "corrupted storage", but here are atteched the collected json logs: 20231216_113841753982_artetv_home.json 20231216_113841073906_artetv_player.json

Could you investigate ?

maaaaz commented 9 months ago

If I understand the error, your script tries to load a pickle file named cached_categories to look for the media id.

But in my case, the cached_categories file is empty, hence, not being able to find the media:

2023-12-16 11:30:24.041 T:8227    debug <general>: [xbmcswift2] Reading pickle storage from disk at "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/plugin.video.arteplussept/.storage/cached_categories"
2023-12-16 11:30:24.042 T:8227    debug <general>: [xbmcswift2] Loaded storage "cached_categories" from disk
2023-12-16 11:30:24.052 T:8227    error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'KeyError'>
                                                   Error Contents: 'ede95ebb-511c-4c73-a7e5-6b098fbd5f00'

Attached here, my token and cached_categories file (with .txt extension added because Github would not let me upload such files without extensions). token.txt cached_categories.txt

Why my cached_categories file is empty ?

maaaaz commented 9 months ago

And by the way, when I try to authenticate with an account, the extension says "No mail found"

thomas-ernest commented 9 months ago

Hello @maaaaz ,

I have to look at your case. Multiple language has not really been supported and it is family time now. So, I don't promise a quick reply; but thanks for your comment. I wonder why your cached_categories is empty. It should be built from //[@id = 'ede95ebb-511c-4c73-a7e5-6b098fbd5f00']/content/data in 20231216_113841753982_artetv_home.json There might be a problem while building the cache in maper.py map_zone_to_item() ... ArteZone(plugin, settings, cached_categories).build_item(zone)

About "And by the way, when I try to authenticate with an account, the extension says "No mail found"". Can you confirm that

  1. your credentials are working on the official web site https://www.arte.tv/fr/profile/auth/landing please ?
  2. you have an email set in C:\Users\mywindowsuser\AppData\Roaming\Kodi\userdata\addon_data\plugin.video.arteplussept\settings.xml > /settings/setting[@id="username"] ?

Thank you, Best regards

thomas-ernest commented 9 months ago

Hello @maaaaz ,

Actually your problem is impacting everyone. all series contains since recently an item "This is England" of kind external link. This item has been mapped to None, which made the plugin fails. The plugin is unable to mapped this type of item, but it is now skipped instead of being mapped to None.

If you wanna try the multi-language support, please check PR: https://github.com/thomas-ernest/plugin.video.arteplussept/pull/43

In order to fix the problem in master branch, please check PR https://github.com/thomas-ernest/plugin.video.arteplussept/pull/42

Thanks, Best regards,

maaaaz commented 9 months ago

Hello @thomas-ernest, thanks I will try this new version asap !

maaaaz commented 9 months ago

Hello @thomas-ernest, I just tested the https://github.com/thomas-ernest/plugin.video.arteplussept/tree/bugfix/fix_external_item_mapped_to_none_in_cached_categories version:

thomas-ernest commented 9 months ago

Hello @maaaaz ,

Thanks, Best regards,

maaaaz commented 9 months ago

Hello @thomas-ernest,

Keep up the good work on this useful extension !

thomas-ernest commented 9 months ago

Hello @maaaaz ,

thomas-ernest commented 9 months ago

Hello @maaaaz ,

What do you think, if I rename the settings from "Language (Videos)" to

maaaaz commented 9 months ago

Hey @thomas-ernest,

Good idea, I would even be clearer by proposing something like, in french, "Contenu proposé pour le pays suivant", with somewhere (documentation, or a popup inside the extension or something else) saying that the proposed content can be different according to the country of origin, according the distribution rights (droits de diffusion).