Currently the database only stores hard facts about each thread. It doesn’t directly store booleans that basically amount to “should the user see this thread”. These are evaluated when list_thread is called.
It might simplify the code if I just add some boolean columns to the db, maybe they can even be auto-calculated (no computed columns in SQLite apparently). The cost would be a more stateful program with more side-effects.
The reason I’m concerned about this is the line if (mark != ' ') or (not interesting_only): in list_threads - it seems very hacky but I can’t improve on it either.
if (mark != ' ') or (not interesting_only):
Dec 31, 0000