2009-03-11, 10:23 PM
zehd Wrote:OK, I haven't released the very newest version yet, but I want to get started on makeing some notes. I hope that it will make enough sense WITHOUT you seeing it, that you may be able to offer some suggestions.
Problem: the TVdb.com responds very very slowly when there is a request for a series ID, based on a series name. It's even slower when you query a show that doesn't even exist in the database.
Solution: a master list that contains all the Series Names and Series IDs.
WOW! OK, If the list would be complete, it would be huge I'm sure. And I've searched if there even was a downloadable list, but nah!!!
New Ultra has a button to download latest Master list (hosted on my server space) and merge it into your own SeriesID list.
As Ultra cycles through each of the records, it asks the list for a SeriesID based on a Series Name. It's either a valid number or the string "No Data"
If it's No Data, it skips and carries on. If it's Valid it checks if it needs to get a copy of the Episode XML (That part hasn't changed in speed)
---
Now the XML_Cache doesn't have Series files or Wrong.Data files. The data is maintained in the _SeriesIDs.txt list (actually in memory as an array, for speed.)
---
If you come across a show that is not in the list, then Ultra will try and get the information and then add it to the list. It shouldn't have to get that info ever again.
---
Now, due to theTVdb.com causing grief, sometimes, even valid shows, will seem like it has 'No Data'. And it can be a lot of fun and work to get the correct number added to the list. Sometimes manually, sometimes several retires (we can go into that later)
What if I have 'Boston Legal=No Data' but you have 'Boston Legal=74058' and it took a bit of work too, maybe lots of time on the net to get that stupid number. How can I share in that information?
There is also a button that will upload your _SeriesIDs.txt to my server space. I can download it, merge it into the master and then upload the master.
Everyone else can then Download the Master file again, and we'll all be up to date...
---
I don't want this to be automatic. I don't want this to be mandatory. It's a little bit like the torrent idea, if you're going to download, you should upload too...
---
Just so you know, when I merge, I compare records. If I have No Data, and your file has a real ID (Good work!) I save the Real ID, for all to use from the future.
---
The goal is to have accurate information regarding if a Series Exists or not. If it does, we should have the real ID, if it doesn't let's not waste any time, let's know it doesn't by saying "No Data"...
What about a flag to automatically upload the userâs _SeriesIDs.txt file and another flag to automatically download a new Master file? This way you could be sure to get more information to add to the master file and the user could be sure that they always have the latest master file. The down side could be you might get flooded with copies of _SeriesIDs.txt files.
What about having UltraXMLTV automatically check and display a message that a newer master file exists and ask if it should be downloaded? The user would not be prompted depending on the flag the set above.
What about linking the 2 processes together? If you download a master file then your _SeriesIDs.txt file would also be uploaded.
Just my 2 cents.
Tom