t4skforce / IcefilmsShowSyncer

pyload.org plugin for auto syncing series
6 stars 2 forks source link

not adding new shows to download queue #7

Open vilorious opened 9 years ago

vilorious commented 9 years ago

my pyload is logging all shows correctly for testing if new episodes are available. But nothing is added to download queue.

Kannst du irgendwie bestätigen, dass es bei Dir noch läuft? Dann könnte ich mich bei mir auf Fehlersuche begeben? Vielen Dank! Und btw, toll das du es hier auf github gebracht hast, das plugin ist viel zu gut um es im pyloadforum versauern zu lassen :)

bilderbuchi commented 9 years ago

my pyload is logging all shows correctly for testing if new episodes are available. But nothing is added to download queue.

I'm observing the same thing. What about your experience @t4skforce ?

bilderbuchi commented 9 years ago

@vilorious can you pin down when it stopped working, and did something in your setup change at the time (computer, python version,...)? I can't really pin it down beyond "a couple of weeks ago" because I haven't paid attention to the plugin/pyload lately.

vilorious commented 9 years ago

@bilderbuchi well not really, Iam running it on raspberrypi so normally I get new episodes all the time, but because of the gap between summer and winter season I didn´t really recognise the exact date.

Maybe I can get more information form my pyload Log (when the last download was finished, will check that asap). But this wouldn´t help me much because I dont auto update anything on my rasp except the pyload plugins (at least I think so), and they shouldn´t intervene this plugin. Today I tried to update everything to the newest version (pyload, python and all python modules) but it didn´t change anything. Next I will try an old working backup (from feb 2015), but if that doesn´t work I think they changed something on icefilms... so the plugin has to be updated (and we can´t do anything).

Sadly my python skills aren´t good enough to fix it by myself, but I already started to look into the plugin and try to understand... so maybe I can fix it in a couple of weeks (this is maybe the best idea :P because there are far too few people contributing to this (what I can´t understand) and I am a heavy user of this plugin (but the sadest part is, the new tv season has just began and this is not working :/)

Hopefully @t4skforce is waking up soon and brings some light to it!

bilderbuchi commented 9 years ago

the log probably won't help you, as this plugin doesn't really log very much. probably you'll need some more logging commands in the synchronization section here, or more specifically in the Show.synchronize method here to see where it goes wrong. I agree that probably something at icefilms has changed.

bilderbuchi commented 9 years ago

I know Python so I can help fixing this as soon as we know what goes wrong, but currently I can't find the time to track down what exactly broke. :disappointed:

vilorious commented 9 years ago

Yes, u r right, the only thing I could see in the logs is when it loaded the last file with the plugin, but because I don´t know what really changed on my system, the date won´t help much.

But as you recommended, I already started digging into the code with some additional debug lines. And so yesterday I found out, that the plugin is working until it retrives all hd and not hd hoster ids for the episode to download on this . So including these lines its working. So my guess right now is:

  1. its not getting the correct page to get the download link on this page --> my guess right now because of the "javascript:void(0)" maybe
  2. its not getting the downloadlink on the icefilms hosterpage here
  3. it cant submit the downloadlink to pyload

Iam digging into it in the next days. But I already find it a bit strage, because if the plugin couldn´t find the downloadlink I think it should give an error in debug mode but it just says finished. But if the "api" to submit the link to pyload had changed, it would mean my pyload updated without me knowing... and that would be strange too.

Ok, I think Iam going to narrow it down a bit more in the next days and keep you updated. Its nice to know that there is someone active who could potentially fix it :)

vilorious commented 9 years ago

Ok I think I found the error.

The Problem is to open the the icefilms page with the downloadlink. So here we don´t get any code back from icefilms if we want to continue from this page to the hosterlink page.

Either they changed the post data structure to get to the downloadpage or something more bad. (unfortunately I cannot find the post data from icefilms, I don´t find it in the http header... maybe Iam doing something wrong)

But there is something else. I discovered, that you cannot open the final Page with cookies disabled in your Browser. So my guess is, they make it necessary to have cookies enabled to access this last page (And correct me if I am wrong, but our python script isn´t storing any cookies?).

Ok, now I need some help! Any suggestions how we can solve this?

bilderbuchi commented 9 years ago

So, I have finally managed to set up a new pyload on my laptop (too tedious to debug this on my NAS). I can confirm that downloadUrlHtml always seems to come up empty here for fresh episodes. Maybe the necessary ajaxUrl or postData changed on icefilms? argh, web debugging I don't really shine, I was hoping it was a broken regex or somesuch. :D

bilderbuchi commented 9 years ago

if you right-click one of the source links (e.g. this one) and inspect the source for that frame you'll see what the javascript does - it's in a function go(id). There is a captcha text element that is not being used by our current postData string (and I think m and s are differen), and I think the ajaxUrl has also slightly changed, but I don't know how exactly - I tried a couple of combinations manually, but didn't get anywhere, maybe you have more luck?

bilderbuchi commented 9 years ago

For reference, the condensed javascript:

var f=document.frm,w=0;
function go(id){f.iqs.value&&((w=window.open("",""))||alert("To proceed, you must allow popups from www.icefilms.info"));window.XMLHttpRequest?r=new XMLHttpRequest:window.ActiveXObject&&(r=new ActiveXObject("Microsoft.XMLHTTP"));if(r)f.lastChild.value="37fn8Oklq",a="id="+id+"&s="+s+"&iqs="+f.iqs.value+"&url="+f.url.value+"&m="+m+"&cap="+f.captcha.value+"&sec="+f.secret.value+"&t=217398",r.open("POST","/membersonly/components/com_iceplayer/video.phpAjaxResp.php?s="+id+"&t=217398",!0),
r.onreadystatechange=ice_b,r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(a)}function ice_b(){if(4==r.readyState)if(200==r.status){var a=r.responseText;if(a)5>a?(w&&w.close(),location.reload()):a.match("/GMorBMlet.php")?location=a:w?w.location=a:alert("Target window missing!")}else w&&w.close(),alert("Problem: "+r.statusText)}f.elements[2].value=" ";

Btw, regarding the cookies: Going through the pyload sources I found something called CookieJar, so I guess that part is handled by pyload.

bilderbuchi commented 9 years ago

OK, I can't really find out what's going wrong. I adapted the AjaxUrl and postData as best as I could, and as far as I can tell those are identical to what's sent when you press a source link manually (btw, you can check what happens if you press F12 and go to the network tab before doing that!), but I never get responses back. As far as I can see, this is an Ajax/HTML/javascript problem, and not a Python one, so I can't really contribute here as I don't know a thing about these (at this level). maybe you fare better @vilorious ?

bilderbuchi commented 9 years ago

@vilorious any luck with this?

vilorious commented 9 years ago

Hi sorry for not answering, too much to do lately. I will try my best and find out what python has to do. Maybe my html... skills are enough. But this will take some time. The other thing why I´m not very motivated to put any time on this problem is, that right now icefilms is very useless to me with pyload, because hugefiles set a very small file size limit (too low for hd material) and 180upload is still not working for me. So even if I could fix the addon, I can´t download a thing... But I hope we can fix everything again for the winter season, would be a dream (unfortunately the community around pyload etc. seems to lose user and I don´t know why (just a feeling) :/) !

I´ll keep you posted as soon as I now something new!