Answers
1. I can't see how you got difficulty - is it entered manually or is it a wget from
http://blockexplorer.com/q/getdifficulty ?
Right now its entered manually. Thats a good idea though
2. I can see you're getting user api data - are you providing an efficiency output? This is something I loved about Multipool - It's much harder to see that you're getting good efficiency otherwise. Easy enough: shares/difficulty*blockvalue.
Hmm. I was scraping the user data in order to get server data. I could probably whip up a crude API quickly. My priority right now is wrestling LP support into place.
3. Why 'shares':difficulty*.41 (line 33) for eligius?
Eligius has switched to a shared max pps. This makes it a bad pool for pool hopping but a good pool to mine when we can't find anything better. The difficulty*.41 is there so that it will check the other pools instead of assuming eligius is the best pool. Its a hack that will be removed when I clean up my code.
4. Can you give simple-ish instructions on adding other pools ourselves?
Sure. I'll add it to the readme at some point but its pretty simple: Copy the structure in the servers dictionary for your new pool.
Create a function to call a getPage from your info source.
Set its deferred to a function which parses your info source and sets server['server_name']['shares'] to the current shares.
Add the getpage calling function function to update_servers.
After writing that I realize its not that simple. I'm planning on spinning out some parsing functions with regex into some sort of file structure.
If you have a pool in mind and have the function written for extracting shares or api details, just post it and i can integrate it in if it is annoying.
Issues with the license:
I'll probably relicense it under a GPLV2 at some point. Its mainly so no one steals the script and resells it or trojans it without me being able to have a solid legal complaint.