I took a much deeper look at the code today and uncovered a few more things.
I see what your saying about the code in TRUNK and the Linux Branch being different. They definitely should be using the same code.
I also found another bug. CIMDBUrl:
arse was skipping the first <url> element in episodeguides due to the same faulty loop logic. This causes scrapers which use the <url> format to not scrape the first url. For instance, the TV.COM scraper will not scan season 1 of shows.
This brings up another readability issue; there is code to handle two different cases for episode guides returned by scrape interfaces. Multiple URLS and 1 Url. TVCOM returns Bleach like so:
<episodeguide><url>Season1url</url><url>Season2url</url>etc..</episodeguide>
TVDB returns bleach like so:
<episodeguide>allseasonurl</episodeguide>
This means CIMDBUrl:
arse has code for the 2 different cases. Requiring scrapers to use <episodeguide><url></url></episodeguide> regardless of how many URLS they return would simplify the code and make more pragmatic sense.
In any case I can submit a patch that cleans up both Trunk and the Linux branch to the more clear While(x) {x = nextx} format bringing them to use the same code and fixing the remaining Linux TV Scrape bugs. Also if theres agreement on the standardization of <episodeguide> and the use of <url> I can sumbit a patch which fixes that and all the scrapers.
Thoughts?