Jump to content


Maros861

Member Since 1 Nov 2021
Offline Last Active 07 Jan 2024 15:50
-----

Posts I've Made

In Topic: No entitlements - box restart required

7 January 2024 - 15:42

Hi, I was just following conversation and thinking about it little, isn't it possible to reload the kernel module which is responsible for the card reader? This way you should get similar behaviour as when you restart the receiver.. If that's possible of course. There should be commands like lsmod, modprobe -r. You just have to find correct kernel module. And maybe I'm totally wrong and it's not so easy and possible :D.


In Topic: merge requests for PLi's git

7 January 2024 - 15:34

@Beeker,
I think we can follow the advice which python docs suggest, and to alter the enigma code instead. This worked for me for 3.11 build.

diff --git a/lib/Makefile.am b/lib/Makefile.am
index 7f08a9ecd..7fb787af6 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -4,6 +4,7 @@ AM_CPPFLAGS = \
        -I$(top_builddir) \
        -I$(top_srcdir) \
        -I$(top_srcdir)/include \
+       -DPY_SSIZE_T_CLEAN \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h



I wanted to provide patch, but in my custom build of openpli with sdl2 in docker configure fails when I want to use python3.9 instead, so I'm not able to verify if this change is backwards compatible. Probably there will have to be some switch added when to use the define(3.9+) and when not.


In Topic: merge requests for PLi's git

1 January 2024 - 21:14

Hi, just wanted to share here information which I find out with a quite a long debugging process. Situation is that I've build latest openpli develop image with python3.11 and I wanted to test SubsSupport plugin, where eConsoleAppContainer.write method is used to write to stdin of the subtitles search application. This was always returning me error:

 

TypeError: 1st arg must be a string, optionaly 2nd arg can be the string length

python/python_console.i#L192

I tried to push unicode, str and also byte objects but the same message always appeared. I've created simple test library to demonstrate quickly where can be the issue.
The issue was masked by the above custom error message, when I've removed the message the true cause was revealed:
 

SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

This lead me to python api docs
 

Note For all # variants of formats (s#, y#, etc.), the macro PY_SSIZE_T_CLEAN must be defined before including Python.h. On Python 3.9 and older, the type of the length argument is Py_ssize_t if the PY_SSIZE_T_CLEAN macro is defined, or int otherwise.

So if somebody stumbles upon this is the solution.