Re: [Spambayes-checkins] spambayes/scripts sb_server.py, 1.15, 1.16
[Tony]
Modified Files: sb_server.py Log Message: When we stopped sb_server and then restarted, we didn't init the state, so it wouldn't work. Fix that.
[...]
def prepare(): + state.init() state.prepare()
This edit keeps appearing and disappearing. Mark removed that line in order to fix the fact that none of sb_server's command line arguments worked. Tony has now put it back in order to fix a restart problem, which has once again broken all the command line arguments. The docstring for State.__init__() describes how the code was originally intended to work: """Initialises the State object that holds the state of the app. The default settings are read from Options.py and bayescustomize.ini and are then overridden by the command-line processing code in the __main__ code below.""" The __main__ code is now in a function called run(), and the code to read the options is now in State.init(). Calling State.init() a second time, as prepare() now does, overwrites the command line options set up by run(). It does seem weird that there's a State.prepare() and a global prepare(), but the global prepare() calls both State.init() and State.prepare(). I don't know much about this code (if it was checked in under my name, it must have been my evil twin that wrote it 8-) Does anyone have a clear idea of what each of prepare(), State.__init__(), State.init(), and State.prepare() are all intended to do? I think the command line option code needs to be inserted somewhere into one of them, but I'm not 100% sure what each of them is for. PS. (next eight hours): Mark: You are too drunk to reply. PS. (after eight hours): Mark: How's the head? 8-) -- Richie Hindle richie@entrian.com
participants (2)
-
Mark Hammond -
Richie Hindle