OpenATV 6.4 and Vhannibabouqetsmaker plugin Crash

Nachricht
Autor
Benutzeravatar
s3n0
Senior member
Senior member
Beiträge: 1580
Registriert: 02 Jan 2017 14:38
Receiver 1: Vu+ Zero 4K
Receiver 2: Vu+ Solo SE V2
Hat gedankt: 108 Mal
Hat Dank erhalten: 416 Mal
Kontaktdaten:

#41

Beitrag von s3n0 »

If you wanted to write with me, you had to solve it via Skype. I can't write to you through the discussion forum. This is incredible chaos.
:)

Anyway, the code should be corrected by its author - Vhannibal. He could study at least the last 2 pages in this discussion and then try to find a bug + solution, for OpenATV-6.4 / Python 2.7.x and in the future also possibly OpenATV-6.5 / Python 3.8.x.

I edited my post #37 ... the solution works, but it is not final. The error, as I have already written, is probably in badly formatted data (between Python data types: bytes / unicode / string), which are downloaded from the Vhannibal web / api server. Then the MessageBox (Screen layer for displaying the message text on the screen) cannot handle this character encoding.
SpyLand
Member
Member
Beiträge: 33
Registriert: 06 Jan 2021 20:47
Hat Dank erhalten: 1 Mal

#42

Beitrag von SpyLand »

Yes now I have a 100% working plugin, but as I also said before strangely this works directly out of the box installed on OpenPLI 8.0 without any problems, so must be there some difference in OpenATV python from the other image.

Going to PM you with my skype I think It still works and we see from there on.

Thanks !!!
Benutzeravatar
s3n0
Senior member
Senior member
Beiträge: 1580
Registriert: 02 Jan 2017 14:38
Receiver 1: Vu+ Zero 4K
Receiver 2: Vu+ Solo SE V2
Hat gedankt: 108 Mal
Hat Dank erhalten: 416 Mal
Kontaktdaten:

#43

Beitrag von s3n0 »

For the third time, I repeat that the data is probably downloaded incorrectly from the Vhannibal web / api. It must be either the <bytes> data type, either <unicode> or either <str>. However, currently this value contains an escape character for <unicode> type, while the variable is of ordinary <str> type. The data may be downloaded / specified incorrectly.

However, this works also when testing under IF conditions in the source code, because the same type of data is used everywhere in the source code.

Although it works (in my post #37), it is NOT a suitable solution. The BUG is about something else.
:)
SpyLand
Member
Member
Beiträge: 33
Registriert: 06 Jan 2021 20:47
Hat Dank erhalten: 1 Mal

#44

Beitrag von SpyLand »

Right a full proof version and also counting with the future python3 will be good, as long the vhannibal server keeps having the updated lists of settings.

Should we put here now this final version for OpenATV 6.4 even for now needs to be manually installed and is not 100% perfect ?
SpyLand
Member
Member
Beiträge: 33
Registriert: 06 Jan 2021 20:47
Hat Dank erhalten: 1 Mal

#45

Beitrag von SpyLand »

I leave here the final version of the plugin for who might need it on OpenATV 6.4.

Even is not using the best or perfect code it works 100% without any problems so far,


Don't forget that for install this it needs to be manually extracted directly on the receiver on this directory:

/usr/lib/enigma2/python/Plugins/Extensions/
Dateianhänge
NGsettingForOpenATV_6.4_.rar
(37.88 KiB) 65-mal heruntergeladen
Benutzeravatar
s3n0
Senior member
Senior member
Beiträge: 1580
Registriert: 02 Jan 2017 14:38
Receiver 1: Vu+ Zero 4K
Receiver 2: Vu+ Solo SE V2
Hat gedankt: 108 Mal
Hat Dank erhalten: 416 Mal
Kontaktdaten:

#46

Beitrag von s3n0 »

Hello.

I also looked at the source code a few days ago. It is enough to modify the download of data from the Vhannibal web / api in the "Moduli/Config.py" file. Just add a small improvement there, for example, to reformat the data type. I also edited my identations over source code (files plugin.py and Config.py) because it is incorrect, chaotic and often confusing.

I changed the following in the file "Moduli/Config.py":

Code: Alles auswählen

def DownloadSetting():
    lst = []
    try:
        req = urllib2.Request('http://www.vhannibal.net/asd.php')
        req.add_header('User-Agent', 'VAS14')
        response = urllib2.urlopen(req)
        html_data = response.read()
        response.close()
        x = re.compile('<td><a href="(.+?)">(.+?)</a></td>.*?<td>(.+?)</td>', re.DOTALL).findall(html_data)
        for link, name, date in x:
            lst.append((date, [color=#FF0000]str([/color]name.replace('Vhannibal ', '')[color=#FF0000].decode('unicode_escape'))[/color], 'http://www.vhannibal.net/' + link))
    except:
        pass
    return lst


Now the "settings" download works (data downloading), but the incorrect userbouquets are downloaded. I dont know why. I probably did something wrong due to incorrect identations somewhere.

This source code was probably not written by an experienced programmer.

There is huge chaos in the source code. For example, unnecessary pre-conditions (if) to test variables and inappropriate use of error exceptions (for the whole set of exceptions !) are used there. I noticed that there is a lot of chaos between the variables: self.name, name, self.NameSat, NameSat. Then I want to solve this code. It would be best to program the whole plugin again. Because to correct this chaos is for long hours and days behind the computer.
:)

I really don't feel like fixing the source code anymore - whether it's code readability (syntax) or correcting the correct functionality - such as when the plugin is in the right window after running the plugin and moves to the left window after some algorithm after a short time.
SpyLand
Member
Member
Beiträge: 33
Registriert: 06 Jan 2021 20:47
Hat Dank erhalten: 1 Mal

#47

Beitrag von SpyLand »

But there is one thing that I didn't understand, apart the code being confused and not perfect do you have any kind of problems with the plugin functionality?

I use it without problems now. It saves the settings file, updates the channels and favorites all according the list I select. Also I can change from one list to another and everything else.
Even the auto settings that checks and downloads new list when senses there is a new one online works, as long you have the receiver on of course. ; )
Antworten

Zurück zu „English Section“