Posts by s3n0

    OK, try the following archive from the attachment.

    I don't know if it will work. Please try it in some PY3 based Enigma2 distribution.


    ///// EDIT :


    So what ? Does it work ? Does not work ? Any bug reports ?


    Or... you can write me via Skype. If you have this Skype acc, of course... because for a long time I refuse to use ever new and new communication clients, ha ha, which are often called "social network" when it is not a social network at all.

    There is a lot of .py or .pyo code. I looked at it earlier. And I saw a lot of files there. That's why I didn't want to convert it to PY3 compatibility.


    Would it be enough to translate to PY3 support only what you attached as a .bz2 archive ?

    Hi guys.


    Conversion from PY2 to PY3 for the Enigma2 environment is very simple.


    The problem is that there are an awful lot of files. The plugin is assembled from a "million" parts, and each file needs to be opened individually and check its functionality (run the PY3 code).


    There are also conversion applications that convert the code from PY2 to PY3, but they are universal. This means that there will not be added many necessary things that apply in the case of Enigma2 set-top boxes. If it were only one single Python file, or 3-5 files, I can do it. But since there are a lot of files, it is difficult to convert them and test them at the same time. And without testing, I don't want to transfer it from PY2 to PY3... there must be 100% certainty in functionality.


    First of all, the most common problem is, for example, using print as a function and not as a built-in command of the Python interpreter. In the new PY3, print is used as a function. So the syntax changed to the necessary parentheses:

    print("hello world")


    As for backward compatibility with PY2 with the print function, it is necessary to make this import (I don't know from which version of PY2 specifically, this was added):

    from __future__ import print_function

    But this is not always necessary.


    The second common problem I see when converting from PY2 to PY3 on the Enigma2 platform is incorrect syntax of the "try" command. When using exceptions:

    except Exception as err:

    instead of the original

    except Exception, err:


    Another frequent problem is string data type, because in PY2 and PY3 there are some differences ( https://portingguide.readthedocs.io/en/latest/strings.html ). For example:


    PY2 console:

    Code
    >>> s = u"test"
    >>> type(s)
    <type 'unicode'>

    PY3 console:

    Code
    >>> s = u"test"
    >>> type(s)
    <class 'str'>


    Another common problem is the urllib2 module in PY2, which no longer exists in PY3 (it was replaced / merged with other modules into one). Usually (not always) a simple replacement of it + renaming the imported module in PY3 will help, like this:

    Code
    import sys
    if sys.version_info.major == 3:      # sys.version_info(major=3, minor=10, micro=1, releaselevel='final', serial=0)
        import urllib.request as urllib2
    else:
        import urllib2


    And of course a few other details have also changed (I don't remember exactly, but when I refactor the code, I would remember, haha). For example, a different style is now used in PY3 to access the dictionary data type when using keys, in some specific cases (this is to make accessing the dictionary data type clearer and cleaner).

    I believe Openpli 8.3 is the last image on py2 but someone else may be able to help try to install it and see what happens

    Hi.


    Yes... exactly so. OpenPLi 8.3 is the last to use PY2. From now on, only PY3 will be used. It is for this reason that PY2 has officially stopped further development. There is only PY3. So only PY3 will always be updated/up-to-date.


    Source:

    Quote from https://wiki.openpli.org/Releases

    We are exited to announce the release of OpenPLi 8.3 As this is a minor release updating will suffice. This is the last version that is compiled using Python 2, we will officially retire Python version 2, and switch to Python version 3 for next releases.


    With this release there is new stuff and of course many improvements and it is now available for download at OpenPLi. So come and follow the link below and have a look at the release notes of OpenPLi 8.3 to see what has changed

    where in var can i find softcam fail on open atv.

    Hi.


    I don't exactly understand your question.


    If you mean decoding and error checking during Oscam itself, you can find it in Oscam-Webif ---> Live Log.


    If you mean problems with running Oscam under a Linux set-top box, it is best to solve it via a terminal connection (PuTTY application for example), via SSH and Telnet protocols. For example, you can try to run the oscam binary manually... and see what the system says as an error:


    /usr/bin/oscam -V (version / build info)


    Or directly start the Oscam in the terminal:

    /usr/bin/oscam -r 2

    Hi.


    I don't know if Python 3 is used for OpenPLi 8.3.


    Well, if so, then in Python 3, PRINT is a function, not a so-called command. This function needs an input parameter in parentheses:

    print("hello world")


    I also don't know from what source, OpenPLi uses this Multiboot plugin, because there are several sources.


    Probably from the OE Alliance Group github source ?

    - https://github.com/oe-alliance/openmultibootmanager/tree/main/src

    - https://github.com/OpenPLi/openpli-oe-core/blob/cd3413524474c7ab7b326f783c767f88c688a856/meta-openpli/recipes-openpli/openmultiboot/openmultiboot.bb


    Or probably from Dima73 github source ?

    - https://github.com/Dima73/pli-openmultibootmanager/tree/master/src

    - https://github.com/OpenPLi/openpli-oe-core/blob/8229dd2a86105e9d640d49ce546687d5a9394401/meta-openpli/recipes-openpli/openmultiboot/enigma2-plugin-extensions-openmultiboot.bb


    BTW, it would be appropriate to report this BUG directly to the OpenPLi forum and not here ;).



    //////////// EDIT :


    - https://github.com/Dima73/pli-openmultibootmanager/blob/2cad7d11f30e930636bb28cb050f098ac9ab1352/src/open-multiboot-branding-helper.py#L82


    So... it looks that PLi uses the OpenMultibootManager plugin, from the Dima73 github source. So... I have sent a request for the syntax error correction.

    Did you debug or disassemble the executable code of this binary file ? Or how do you know what exactly and what functions this file performs ?


    Sorry, but a "good word" about the non-harmful activity of binaries is not enough for me.


    Binary executabe code can do a lot of things - awaiting for an opportune moment.


    Open-Source belongs on GitHub or other public web-space.


    I'm always worried about a binary file that comes from an unknown source. I don't even know its purpose... so I don't know why the action of this binary is not fully replaced in the python code. What is the need for a binary separate file in this case at all.


    I'm not saying the file is necessarily malicious... it's not... but I'm saying I don't trust it... until I know exactly what it's for and how it's being used.


    I found almost nothing in the code, except for a few runs of this file, with the parameter "exit".


    I don't know exactly what the binary file does, but anyway it can be replaced with the Python language. There is also a huge number of shell-scripts that could be replaced with the Python language as well.

    Where can I download the latest version ?


    Is there a Github ?


    ////// EDIT:


    The plugin even contains some unknown binary file "/usr/bin/ebox".


    What is the purpose of this binary (executable) file? I hope he is not doing any malicious activity.

    You think this one ? RE: CCcam free server downloader Zoom


    OK, but this was more of a rhetorical question :).

    It was supposed to mean that if the author of the source code can't figure it out, I can try to translate it for him. Although the truth is that its source code is very long. In my opinion, it is unnecessarily too modular for what simple algorithm can do.


    But it shouldn't be a problem anyway. Just run the plugin on PY3 and fix the bugs step by step... bug by bug... so that it works on both the old PY2 and the new PY3.


    I downloaded the IPK package. But I don't know if I'm allowed to play with the source code, since the source code doesn't belong to me and I don't have the copyright.


    It is therefore a question for the author of the code / plugin.

    Hi.


    As master G writes.


    The very frequent error "no matching readers" means that Oscam does not have a single reader / proxy registered from which it could decode the required DVB channel.


    It means, for example:

    - the reader is not working

    - the decoding card is not working

    - the decoding card does not contain entitlements (AU / EMMs)

    - maybe there is a broken connection to an external reader

    ... etc.


    What does the LOG look like after restarting Oscam ? Are the cards and / or external readers initialized correctly ?

    I don't know BlackHole, but I quite often compared when developing plugins for Enigma2, precisely the OpenPLi vs. OpenATV distributions.


    Unfortunately, I have to state that OpenPLi is faster as the OpenATV because the OpenPLi contains only necessary plugins and modules.


    Of course, this does not mean that it is ugly, incompatible, less modular. Compared to OpenATV, OpenPLi is faster and more reliable in my opinion. However, OpenATV supports a larger range of different set-top box manufacturers. Personally, I would prefer OpenPLi.

    Hi.


    Uhm... textwrap or textutils ? Usually every Enigma2 already includes this module, so I don't understand why it needs to be installed.

    :thinking face:


    The LOG you entered is not completed.


    The command to install the plugin I pasted above was just an example. If you want to install from the Internet, with an online script, here is a simple procedure:
    https://github.com/s3n0/e2plug…ninstall-plugin-via-shell


    However, now that you've solved it, it's irrelevant.

    :smiling face with halo:

    Hi mouadhada .


    I would need some bug report. I don't know NewNigma2 the enigma2 distribution at all.


    1. run the installer package manager with the parameter to dump all errors and redirect it to a file... then post that file here in the discussion... for example:

    opkg -V4 /tmp/enigma2-plugin-extensions-chocholousek-picons_5.0.221217_all.ipk > /tmp/chocholousekpicons-opkg.log


    2. after installation, try to check if the ChocholousekPicons plugin is in the plugins folder:

    /usr/lib/enigma2/python/Plugins/Extensions/ChocholousekPicons/


    3. if everything went well, you need to activate the debug mode in your NewNigma2 and then reinstall the plugin and go to the PLUGIN MENU again... an Enigma2 error will probably be triggered in the background, which will be recorded in the Enigma2 debug log file... then, next step - post the Enigma2 debug log created afterwards here in the discussion or send it to me as a private message... maybe running Enigma2 in debug mode directly through the terminal would also work (I don't know because I don't know NewNigma2):
    init 4; sleep 5; killall -9 enigma2; enigma2 > /tmp/enigma2-debug.log 2>&1

    Above all, like everything, Python needs to continue to develop. In order to maintain the standardization of the algorithm, it is therefore necessary to make another version of Python. Unfortunately.


    Python 3 improves many things. It clarifies a number of hitherto unspecified errors (in standardization). Sometimes it didn't matter if you passed the data type list or another type to a built-in Python method/class. Now it matters. The way unicode strings are used is also changing.


    There are many differences between Python 3 and 2.


    There are also many differences in Python subversions... fortunately they are not striking.


    New versions of Python mainly represent new developments.

    Warning !


    However, these new SNP picons work exclusively only in the method of incremental update !


    That is, they work when the plugin algorithm does not compare anything with userbouquet files (favorite / user DVB channels) in Enigma2 !


    The plugin algorithm is not yet able to compare and synchronize channel names with the same named PNG file names.


    That's why you have to set a different picon update method than the "synchronization" method !


    Perhaps this will be added to the plugin algorithm sometime in the future.