leekspin's except/error code handling in generator.py is strange
In /leekspin/generator.py you have in "def createRelayOrBridgeDescriptors(...)"
Code highlighting:
{{{#!python
def createRelayOrBridgeDescriptors(count, bridge=True, **kwargs):
...
try:
...
except KeyboardInterrupt as keyint:
logging.warn("Received keyboard interrupt.")
logging.warn("Stopping descriptor creation and exiting.")
code = 1515
finally:
...
logging.info("Done.")
code = 0
sys.exit(code)
}}}
The same in a similiar way also in "def createHiddenServiceDescriptors(...)"
I think your way of handling the code-variable isn't right. If you have an Keyboard exception if follows: code = 1515. But the "try ... except ... finally" - block always "finally" execute the code within the finally block. So it will always exit with code = 0, sys.exit(0)!
In generally, the execution of (some) parts of the finally block after an keyboard interruption makes no sense for me.
(I haven't found time to examinate the full source code until now. Hence, for the case that all has a good reason, please ignore me :)