dobbelina / repository.dobbelina

repository.dobbelina- Kodi is a registered trademark of the XBMC Foundation.We are not connected to or in any other way affiliated with Kodi
https://dobbelina.github.io/
266 stars 90 forks source link

Kodi 19 / Python3 - end of UWC? #270

Closed nrk666 closed 3 years ago

nrk666 commented 4 years ago

Is Kodi18 the last UWhiteCream will work?

Kodi19 is switching over to Python3 and will no longer support Python2.

Just wondering if there is going to be a new version for Kodi19?

frankee123 commented 4 years ago

If this is true, I'm not upgrading kodi. I cannot live without this program lol.

dobbelina commented 4 years ago

Too early to say. Hopefully our members with coding skills can update the addon should/when the need arise.

jdoedev123 commented 4 years ago

Good question. The original creators have the deepest knowledge of the code. Most of the rest of us live in the world of patching Regular Expressions and updating URLs. Rarely deeper into the rest of the code. We would probably need to start testing under Kodi 19 and see what breaks. I have noticed the important dependency resolveurl addon claims to be Python3 and Python2 compliant which is a good sign. I do write Python3 in my daily life but am no expert in the nuances of the differences. Outside of world of kodi it is normal to use virtual environments or containers to have multiple development and run time Python environments and not have to worry about the nuances. This is NOT such a case and everything will need to be Python3 compliant. I also use a few non-standard Kodi addons which will influence whether I change to Kodi 19 if they are not updated to run under Python3. For example WIMM is one of my favorites but has not been updated in years.

WhitecreamDev commented 4 years ago

It's not that much work, only every py file needs to be looked at and converted to py2/3 compatible code :) You can use https://kodi.wiki/view/Add-on:Six to make the code compatible with both Python versions.

dobbelina commented 4 years ago

It's not that much work, only every py file needs to be looked at and converted to py2/3 compatible code :) You can use https://kodi.wiki/view/Add-on:Six to make the code compatible with both Python versions.

Hi WhitecreamDev!

I really appreciate your input! 👍 Perhaps you can throw a helping hand if needed later. After all, this is your baby 😄

onknight commented 4 years ago

This was a great addon maybe it time to just do a full Rewrite There parts of it not working and add has become so much bigger then was when it was 1st created so harder to keep everything going .. We keep Patching it but with all addons now needed Python 3 after Kodi 18
Maybe it time to start Fresh

nrk666 commented 4 years ago

I'd love to see it broken up into smaller addons, personally I like the webcam stuff more than the *tubes. That being said, I can say that all day but lacking Python3 programming experience, I can't really help, so I feel like people better at this than me should make those calls.

onknight commented 4 years ago

Agree the addon has become a little Bloated I like Webcam stuff moved to it own app Called cu-cream Then rest of addons be White cream I love webcam stuff it my fav part of the app

onknight commented 3 years ago

Any word on a New version that work with the New Kodi ? THey are in Beta so I expect it to be ready for Late Jan - Early Feb 2021 I am running Kodi 19 Beta 1 if anyone wants to make version for me to test

jdoedev123 commented 3 years ago

I had some comments over in another thread when discussing how to begin debugging Kodi 19 UWC etc.. We should also discuss whether to fork the project or try to support both Python 2 and Python 3. For test purposes I modified a recent UWC 1.2.34 without regard for backward compatibility. "@Gujal00 Yes I found that some time ago. Finally had some time to mess with the Docker code and produce my own Kodi 19 dock container. It took some customization to get a custom Kodi container to run with graphics. To get UWC to at least load I had to get the latest resolveurl and resolveurl.xxx from github and modify FmProxy. Eventually I loaded UWC 1.2.34 with a modified addon.xml. it did not go well at first. Rather than use a tool to convert Python 2 to Python 3 I manually fixed each bug as it was thrown until I finally have a first draft at a working UWC in Kodi 19. Played my first video... Will probably restart with Python 2 to Python 3 converter but at least I know where most of the incompatibilities are. Most are Python 3 differences with URLLIB and how Strings are handled but a few Kodi differences caused problems as well. And Python 3 is much less forgiving of minor bugs and tabs vs spaces etc."

ErosVece commented 3 years ago

@jdoedev123 I've invited you to a repo, please accept

onknight commented 3 years ago

@jdoedev123 I like beta test for you

jdoedev123 commented 3 years ago

Link to Changes in Kodi API

This is a taste of the changes. Most incompatibilities are due to changes in Python 3 from Python 2. This list is only for Kodi API changes.

Kodi API Changes affecting UWC include: xbmcgui.ListItem() iconImage no longer existing xbmcgui.DialogProgress.update() Removed Line2, Line3

Also noticed kodilog causes problems (OK to comment out or eliminate as only for debugging)

These seeming minor differences don't produce warnings but errors that need to be rectified.

I will try to produce a list of the major differences in Python 3 from Python 2 that affect UWC next. Python 3 is very unforgiving and throws errors instead of warnings so these also need to be addressed.

jdoedev123 commented 3 years ago

@onknight I have a crude first draft of a working UWC 1.2.34 for Kodi 19 (Python 3). I have only tested for Scenes (more than a half work) and a few Webcams (only Chaturbate works so far). Have not done extensive regression testing. At this point most Errors are known to me and I can quickly fix or patch over (i.e. similar Errors exist in many site code) for now but some unique Errors are no doubt lurking in untested code. I may post a copy soon. First check that the plugins for ResolveUrl and ResolveUrl.XXX load in your copy of Kodi 19. To load F4MProxy plugin you may have to modify the addon.xml file to set xbmc.python to 3.0.0. This is not technically correct but it will get it to load and if it has Python 3 errors it will throw the errors in the kodi.log during runtime. (We should eventually find a fixed version of F4mProxy or update it ourselves to Python 3)

ErosVece commented 3 years ago

@jdoedev123 before you continue with PY3, I think you should accept my invite. Asking for an OG ;)

WhitecreamDev commented 3 years ago

@jdoedev123 before you continue with PY3, I think you should accept my invite. Asking for an OG ;)

So, as an OG talking....@jdoedev123 and @12asdfg12, accept the ErosVece invite. It not a scam or spam.

jdoedev123 commented 3 years ago

@WhitecreamDev thanks, I was going to suggest @12asdfg12 as well. I believe he has made contributions to resolveurl etc before. I have always wondered what is the best balance between the UWC code base and ResolveUrl, it seems we often add code in UWC that might better belong in ResolveUrl for general usage.

Gujal00 commented 3 years ago

@jdoedev123 Yes some resolvers can be moved to SMR or SMR.xxx as then it can be used by any site plugin. SMR.xxx already has quite a few plugins as used by uwc @12asdfg12 did a fix to mixdrop resolver in SMR a while ago

jdoedev123 commented 3 years ago

@onknight My first draft of UWC for Kodi 19 etc currently has about 75% coverage of Scenes, Movies, Cams, Tubes., etc. This is a highly experimental version where I have not been careful about backward compatibility with Kodi 18- . I may start over from scratch (1.2.36) and try to use tools to make a universal UWC plugin. This version is primarily for my personal use to find the problem areas and use as a reference. The conversion tools know the Python differences but not the Kodi differences. But I may post this version soon, just to verify what works and what doesn't.

jdoedev123 commented 3 years ago

@Gujal00 This seems like a reasonable course of action. I have not contributed to the SMR or SMR.xxx in the past but I have contributed to streamlink plugins using the knowledge gained from both my own and @12asdfg12 contributions to UWC. I think it is a good idea to spread the knowledge.

WhitecreamDev commented 3 years ago

@jdoedev123 you still haven't accept the invite by @ErosVece. It's about py2/py3 and more.

jdoedev123 commented 3 years ago

@WhitecreamDev I might be missing the contact. I lost the throw away email I used to setup this github account so I only get messages in github.

WhitecreamDev commented 3 years ago

@jdoedev123 you should be able to accept here: https://github.com/ErosVece/secret-uwc-talk/invitations Same goes for @12asdfg12 :)

jdoedev123 commented 3 years ago

Quick update. I started over with UWC 1.2.36 and used the "modernize" tool to convert to Python 3/Python 2 using the six module at runtime. It was not a perfect conversion and had to manually correct some errors before it would run in Kodi 19. Currently at maybe 50-60% working but have identified the most common errors. Still more work to do but maybe enough to try to test in Kodi 18 to test if anything broke in backward compatibility.

onknight commented 3 years ago

Let me know if you want me test it on 19 Beta 1 give me info on where do download

jdoedev123 commented 3 years ago

Ok I have a test port of UWC .1.2.36 for PY2/PY3 Kodi 18/Kodi 19. I tested mostly in Kodi 19 and only did a very quick regression test in Kodi 18 to see if it blew up in smoke (so far ok). A few sites require the very latest SMR AKA Resolveurl from ResolveURL Not sure if it is released to the Kodi repos. Posted a version here: script.module.resolveurl-5.1.15g.zip

plugin.video.uwc.p3m-.1.2.36.p3m.b.zip

For test purposes I colored the sites as follows: Yellow is broken in all versions of 1.2.36. Grey is broken in PY3/PY2 version 1.2.36 White playback is broken in PY3/PY2 version 1.2.36

This is an Alpha release until tested in both Kodi 19 and Kodi 18.

onknight commented 3 years ago

when get the kodi 19 test client I'll test then

TarkusLV commented 3 years ago

Cool. I have Matrix installed on an extra Firestick. I'll test it tomorrow. Thanks.

onknight commented 3 years ago

I tired install it I got a dependency issue for python 2

jdoedev123 commented 3 years ago

@onknight Did you see above "To load F4MProxy plugin you may have to modify the addon.xml file to set xbmc.python to 3.0.0. This is not technically correct...." This is a hack to get it loaded as F4mProxy is not really PY3 compliant. Here is the version I loaded in Kodi 19/ Matrix. script.video.F4mProxy-2.8.8.p3.zip

Might as well post the SMR.xxx I used as well: script.module.resolveurl.xxx-2.0.02.zip

I forget the exact order addons were loaded, but probably latest script.module.resolveurl, script.module.resolveurl.xxx, then MODIFIED F4MProxy. Finally UWC 1.2.36.p3m

I keep my own private "repo" of all the dependent plugins and have auto update off on my development Workstation during development.

onknight commented 3 years ago

script.module.resolveurl.xxx-2.0.02.zip get a dependency issue trying to install this

onknight commented 3 years ago

You should do each Step (A) Install this then B then so on and so on Include each file as well in a link

jdoedev123 commented 3 years ago

@onknight You are right I posted the wrong version. I have not posted a step by step since I was a Padawan (too much Star Wars recently?). Normally a professional Technical Writer interprets my ramblings.

For Kodi 19 A) Clean install of Kodi 19 B) Install latest addon for SMR script.module.resolveurl-5.1.15g.zip B) Install latest addon for SMR.xxx script.module.resolveurl.xxx-2.1.5.zip C) Install Modified addon F4mProxy script.video.F4mProxy-2.8.8.p3.zip D) Install Alpha release of addon UWC for PY3/PY2 1.2.36 plugin.video.uwc.p3m-.1.2.36.p3m.b.zip

E) (Optional) Enable InputStream Adaptive Go to Settings-Addons->My Add-Ons->All Scroll down to "InputStream Adaptive" and make sure Enabled or if Disabled, click and set to Enabled

jdoedev123 commented 3 years ago

Background. The latest SMR and SMR.xxx have PY2/PY3 support. They fixed a bug in SMR for us a few days ago so the very latest is needed and may not be in the online repos yet. The above were packaged from their latest on github. F4mProxy is another UWC dependency but it has not been updated for PY3/Kodi 19 support. For now we are forcing it to load by modifying it very slightly to "fake" being PY3 compliant.

jdoedev123 commented 3 years ago

Kodi 18 install: Steps B and D from above has worked when an existing UWC is already installed. It may be possible without B but have not tried yet.

onknight commented 3 years ago

Okay the Instructions worked and it's installed Kodi 19 The main Menus work well no Issues so far

I then went into each Area and Tried each add in every area to see if they worked.

LIVE CAM (1) Most of Live Cams are working (Chaturbate & Naked are not) SEENES (2) Seenes area some work some don't The Majority of Sites area is broken (I was up 15 when I stop Trying them) I find a lot of them when it goes to play link it dies Movies (3) The movie area no links will play
Tubes (4) Tubes also Majority are not working

for a early build it has great Promise I will continue to test as needed

My suggestion would be to strip all the the categories bare And work on each one one by one Since most of the cams work it would be the easiest to get up and going And then go from there

I'm very impressed with our community we have kept this addon going Cuz we all enjoy it so much thanks to everyone who contributed

jdoedev123 commented 3 years ago

@onknight I am not backporting fixes yet. This is an attempt to get 1.2.36 ported to PY3/PY2 Kodi 19/Kodi 18.
A quick reminder "Yellow" means broken in all versions of 1.2.36 and not worth testing.

1) a) Naked was Yellow. It is broken in all versions of 1.2.36 b) Chaturbate and Bongacams playback is broken in Alpha. I know where the problem is but have not found an easy solution yet. Update: Same code for Chaturbate and Bongacams works in PY2/Kodi 18. 2) Most non-Yellow Scenes worked for me. A very few like Beeg and HereXXX were still problematic in Alpha. Update same code for Beeg and HereXXX works in PY2/Kodi 18. 3) Most Movies worked for me. JustPorn playback was a 404 blue screen in all versions of 1.2.36 PelixPorno video play did not work in this Alpha. In general, playing with Aparat, StreamTape, and MangoVideo work pretty consistently, not sure of other methods. 4) I did not do a lot of testing of the Tubes. Personally they are a lower priority and are too numerous to constantly retest, but usually a fix in Scenes or Movies leads to a solution applicable to Tubes as well.

Thanks for your time. Feel free to test in Kodi 18 as well. This is known as Regression testing to make sure features that worked before did not break during the PY3/PY2 update. Again no need to test anything in Yellow as we know that is broken in 1.2.36.

When I test I usually test that the Video Listings appear and that Video Playback works. Sometimes I check if Search works but rarely do I check further as it quickly becomes a huge time sink. But someone needs to test all features.

onknight commented 3 years ago

Cool Thanks for the update

jdoedev123 commented 3 years ago

Update for UWC 1.2.36 PY3/PY2 Kodi 18/ Kodi 19 Alpha: 1) Bongacams now works Chaturbate still broken in PY3/Kodi 19 probably works in PY2/Kodi 18 2) HereXXX now works Beeg still broken in PY3/Kodi 19 probably works in PY2/Kodi 18 3) PelisxPorno playback broken in all versions of 1.2.36 and 1.2.37 4) Most Tubes work. Amateur Cool broken in Alpha

I will post an updated version soon. Need to do regression test in Kodi 18.

nrk666 commented 3 years ago

With the release of Cumination, is there any reason to leave this issue open? I'd be ok if it was closed out (I opened it....).