Ok. I've finished a quick review of weather's use of TorCtl. It is pretty minimal in its use for the most part. There are some places where it manually parses descriptor and ns batches, but for the most part they seem ok. In one place, I noticed the check for "opt hibernating" was an re.search without the ^ prefix.
I also noticed that the bandwidth it was checking was the descriptor bandwidth and not the consensus bandwidth (connection.get_network_status()). We probably should be using the consensus values for things like determining the fastest nodes for t-shirts. But for slow node alerts, we may want to stick to using descriptor values.. Or maybe still use consensus values for them, too.
Finally, it looks like weather is heavily relying on descriptor presence. For this to work out, it really should set FetchUselessDescriptor 1 in its torrc, to ensure that it actually downloads descriptors for hibernating and downed nodes.
Trac: Status: new to assigned Owner: mikeperry to kaner
It should also be ensured that weather doesn't rely on an "opt " prefix to any keyword anywhere, because those are scheduled to be removed and are, according to the specification, always optional.
Kaner: ignore the pointsdone stuff. I should have created a new ticket for you to use for actually doing work. This ticket should have been used only to document what I did.