add-ons / plugin.video.tvvlaanderen

Kodi add-on to watch Live TV and video-on-demand content with your TV Vlaanderen subscription.
https://github.com/add-ons/plugin.video.tvvlaanderen/wiki
GNU General Public License v3.0
9 stars 8 forks source link

[Feature Request]: add HD Austria and enable option for other solocoo players per default #38

Closed bananenfisch closed 2 years ago

bananenfisch commented 2 years ago

Hi!

thanks for this amazing work! I was searching for an addon for the Austrian "HD Austria" - and voila: "TV Vlaanderen" == "HD Austria" (and, i think, also Canal Digitaal, Skylink, etc. maybe all M7 Group tenants?) :-)

Well, for HD Austria, i can confirm, that this tenant works perfectly:

TENANTS = dict([ ('as', dict( name='HD Austria', domain='livetv.hdaustria.at', env='m7be2iphone', app='as', )),

It would be very nice, if you could add it (and maybe set the setting to default visible=true). Maybe list in the addon description the known working tenants, so other users can find it, if they search for one of them.

Many thanks!

michaelarnauts commented 2 years ago

Awesome that this works. During development, I was quite sure that it would be compatible with the other M7 group brands but there was no way to test this since I knew nobody with an account.

I'm not really sure how to handle this, I could just add that data to the TENANTS dict, and enable the setting, but the add-on is still branded as TV Vlaanderen, so that would be confusing. I was thinking in doing something that allows to build different addons from the same codebase, so each add-on can have it's own logo and name.

Thanks for the info!

michaelarnauts commented 2 years ago

We had already created this repository for this: https://github.com/add-ons/plugin.video.solocoo

If I find the time, I'll create some build scripts to build other add-ons and use HD Austria as a second version.

This way, I can upload them separately to Kodi, so they are easier to find by the end user.

bananenfisch commented 2 years ago

Yeah, i found this repository via google and was searching for the code =) After that, i tried it with tvvlaanderen (the only thing i need to find out was to 'as' string for HD Austria). All features are working, clean coding base :) I agree, maybe its better, to provide a single app for each provider, because most users won't do searching and trying because of the branding. Also the IPTV manger works very well!

On HD Austria, there is a "Video on Demand" section "this is included in your package blah blah". Idk. if its similar in TV Vlaanderen... maybe some users would like to use this content (i dont) - but this is the only thing missing VS. the Web-Interface.

For me, its perfect - for others (and i think, there are many hd-austria users here) maybe like you said: same codebase, new app. If you need credentials for testing, let me know.

Thanks!

Bildschirmfoto von 2021-12-23 04-40-31

dagwieers commented 2 years ago

@bananenfisch Do you want to maintain the hdaustria addon? We can go forward and make a repository for you to share it with others for the time being.

michaelarnauts commented 2 years ago

I've already made some scripts to build multiple versions, but I haven't finished them yet. The concept is that there is a folder with brands where every brand has different addon.xml, images and settings file. I'll try to upload the changes when I find the time.

I was thinking to use the existing TV vlaanderen repo as a basis so the code history is still there.

There is one line of code in the add-on now that needs changing. It's to check if the password was entered correctly during login. This is a translated string, so won't work with HD Austria. There probably is a better way to detect a wrong password though.

bananenfisch commented 2 years ago

I agree, it's better to build different versions from this codebase, because there are very little changes needed (just settings and fanart/language). But if this would take some time, i could temporary maintain a HD Austria version until all is working (with your permission - it's your work).

If you need help for language (de), i can provide the translations, also this line of code:

if 'De gebruikersnaam of het wachtwoord dat u heeft ingegeven is niet correct' in reply.text: raise InvalidLoginException

I will check, what HD Austria responses here (or better some kind of status, which will work for all tentants).

michaelarnauts commented 2 years ago

I have opened a PR with the code what I already had written. See https://github.com/add-ons/plugin.video.tvvlaanderen/pull/39#issuecomment-1013688146

I think the whole Makefile setup is quite messy at the moment, and I'll probably rewrite this in python so I can clean this up.

michaelarnauts commented 2 years ago

I will check, what HD Austria responses here (or better some kind of status, which will work for all tentants).

I'm not sure if the login flow will work with all tenants, since they can use their own SSO platform. A normal login does a 302 redirect, so I think the best way to check for invalid credentials is to see if we are not redirected.

michaelarnauts commented 2 years ago

I've changed this in this commit: https://github.com/add-ons/plugin.video.tvvlaanderen/pull/39/commits/4ab6a901c6d079bde25164631fe521bd75c0873d

The zip files have been updated.

michaelarnauts commented 2 years ago

@bananenfisch feel free to create a PR with a new translation in german. I think the language code you should use is de_de, since I can't find at_de or something.

bananenfisch commented 2 years ago

Thanks! I tried the matrix build and it's working fine (also the InvalidLoginException is thrown when i set wrong credentials).

I've a minor bug, idk if its HD Austria related: the epg in the addon lists the programs in UTC (via iptv manager and iptv simple all is fine).

For example, the result of an entry is: "start":1642285200000 start = datetime.fromtimestamp(program.get('start') / 1000, dateutil.tz.gettz('CET')) returns: 2022-01-15 22:20:00+00:00 but it should be: 2022-01-15 23:20:00+01:00

Could also be related to libreelec (if i try print(datetime.fromtimestamp(1642285200, dateutil.tz.gettz('CET'))) on my local machine, i get the correct CET time). Hmmm.

michaelarnauts commented 2 years ago

Hmm, I should probably remove all CET references and detect somehow what timezone it is.

bananenfisch commented 2 years ago

Hmm, I should probably remove all CET references and detect somehow what timezone it is.

I already tried this (replaced all gettz('CET') to gettz(), which should refer to the local timezone). But the result is the same :p

michaelarnauts commented 2 years ago

Just to be sure. Your timezone is correctly setup on Libreelec?

bananenfisch commented 2 years ago

Yes (also it works with IPTV with correct time/timezone). Interesting: when i try to change to: datetime.fromtimestamp(program.get('start') / 1000) (without 2nd paramenter) i get: 2022-01-15 23:20:00 (but without +01:00)...

Do you see correct times with tvvlaanderen? If yes and if tvvlaanderen provide the results in UTC, then maybe its a problem with on my libreelec setup?

michaelarnauts commented 2 years ago

I also see this with TV Vlaanderen (correct in the app, wrong in the tv guide), I've opened a new issue for that so I can close this one.

michaelarnauts commented 2 years ago

Thanks @bananenfisch for your help! I've submitted the branded Add-on to the Kodi repository. It's still unsure if it will end up in the Leia repository, since they don't accept new Add-ons there, but it will be in Matrix for sure!

bananenfisch commented 2 years ago

Thanks @bananenfisch for your help! I've submitted the branded Add-on to the Kodi repository. It's still unsure if it will end up in the Leia repository, since they don't accept new Add-ons there, but it will be in Matrix for sure!

Great! Thanks for your work :-)