RE: [spambayes-dev] Experimental SpamBayes build available
[I'll leave the install stuff for Mark, but I can sort out the rest of these].
The ini file for the proxy appeared in "C:\Documents and Settings\rjh\Application Data\SpamBayes\Proxy" as you'd expect, but the database and cache directories appeared in "C:\Program Files\SpamBayes\bin".
Did the ini file have the appropriate [Storage] lines in it? It's meant to add them in there, storing the directories in that directory, too. You didn't already have an ini file in there, did you? (It only adds those lines if it's a new file, so that it doesn't overwrite someone's settings).
I'd question whether we need the Stop/Start command - why would I want the tray icon to stay there but the application to not run?
I was thinking this just yesterday. I'm not sure what the original reasoning behind having it was (and it may have been me that put it there ;). +1 to getting rid of it, unless someone does know the reasoning. We can dump the 'stopped' icon, then, too. (I'd like to see a '!' icon, though, which appeared when there were important status messages to review).
After training through the web interface, the home page still says "Database has no training information ..." even though the stats say "Total emails trained: Spam: 3 Ham: 18".
Good spotting. I've checked in a fix for this.
Defaulting the "Maximum results" field in the Find pane to 1 seems wrong. It made sense when all you could do was search for a message ID (because they're unique) but if I'm searching for text, I'll want to see all the hits.
Fair enough. Line 435 of ui.html; change it to whatever you like most :)
The Find pane only looks in the unknown cache, so it won't find anything once you've trained. It ought to look in the ham and spam caches as well.
Are you positive? The code has it looking in all three, and a quick test here had it finding messages in more than one.
I deliberately induced a false positive (by training on a thousand spams with no hams trained) then corrected it via the Review page, and the statistics now say "1 being false negatives" (plural: ack!) and "0 being false positives". That's the wrong way round.
Opps, my bad. I've checking in a fix for this. I think I've fixed all the plurals, too. If you've still got that false positive statistic around, could you give it a run from cvs? =Tony Meyer
The ini file for the proxy appeared in "C:\Documents and Settings\rjh\Application Data\SpamBayes\Proxy" as you'd expect, but the database and cache directories appeared in "C:\Program Files\SpamBayes\bin".
Did the ini file have the appropriate [Storage] lines in it? It's meant to add them in there, storing the directories in that directory, too. You didn't already have an ini file in there, did you? (It only adds those lines if it's a new file, so that it doesn't overwrite someone's settings).
I really don't like the code in Options.py that handles the default values for these storage items. I'm not sure it is to blame, but it did cause me to see a new .db file created in the cwd, rather than the data directory - as my INI file already existed, it didn't get the default FQN for the new option. IMO, the ini files should generally store relative path names, being relative to the directory of the config file being used. This means we never allow the cwd to determine anything other than the location of the main config file, as all paths resolve via the directory of this file. A single Options.resolve_path() should be able to do this for us. Code speaks louder than words - I'm suggesting: Options.py, line 1156, the code starting: # If the file doesn't exist, then let's get the user to # store their databases and caches here as well, by # default, and save the file. db_name = os.path.join(windowsUserDirectory, "statistics_database.db") And all similar setting of the options to FQNs die. The default remains "statistics_database.db" . All code that uses this option ('persistent_storage_file') does so via a new function: def get_pathname_option(section, value): filename = options.get(section, value) if not os.path.isabs(filename): return filename # maybe expanduser() to *nix? return os.path.join(os.path.dirname(optionsPathname), # existing global filename) Or-something-like-that ly, Mark.
[Tony]
Did the ini file have the appropriate [Storage] lines in it? It's meant to add them in there, storing the directories in that directory, too. You didn't already have an ini file in there, did you? (It only adds those lines if it's a new file, so that it doesn't overwrite someone's settings).
The environment's at work, so I don't know. I can find out on Friday.
Fair enough. Line 435 of ui.html; change it to whatever you like most :)
Done. 20.
The code has it looking in all three, and a quick test here had it finding messages in more than one.
You're quite right. I've no idea what happened last time - I'll double-ckeck on Friday.
If you've still got that false positive statistic around, could you give it a run from cvs?
Yes, that's now working. Thanks for that, and the other fixes. -- Richie Hindle richie@entrian.com
participants (3)
-
Mark Hammond -
Richie Hindle -
Tony Meyer