| Commit message (Collapse) | Author | Age | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As this program interacts with quassel's database only, it does not have
access to any state the UI carries. Some types (such as DAYCHANGE,
IGNORED, BACKLOG, GROUP) seem to not be represented in the database at
all, most likely only set on data structures in memory by the
quasselclient application.
Some others make no real sense to include in an application like this,
which is more focused on human-readable messages and circumstances. For
example, INVALID, REDIRECTED, SERVERMSG, etc are all of less concern to
the average user than, say, matching on nicknames or buffers.
Therefore, ignore all of these until we find a good use for them.
|
|
|
|
| |
Using / here should be fine.
|
|
|
|
|
| |
These make more sense and are clearer if they're named after the command
line arguments that trigger them.
|
|
|
|
|
|
| |
Using --around does not make much sense if there is also a match on
--after or --before, since the range in --around would most certainly
take precedence. Disallow this behaviour.
|
|
|
|
|
|
| |
Sadly we can not yet rely on BooleanOptionalAction, since that was only
added in Python 3.9. Also remove the FIXME note, it seems that boolean
options like this trigger a standard default setting with argparse.
|
| |
|
| |
|
|
|
|
|
| |
We're going to need this for an upcoming commit that moves all
argparse.Action classes to its own file.
|
|
|
|
|
| |
Instead of adding another indentation level, exit early if a value or a
key can be ignored.
|
|
|
|
|
|
|
| |
The list of users that have quit or joined after a netsplit can become
quite large. Quassel itself cuts reporting off after printing 15 users,
so let's follow that. Note that this will not affect queries - the
search is performed against the whole netsplit message.
|
|
|
|
|
|
|
|
| |
Instead of defining a function for every message format that trivially
returns an f-string, have a generic partially-applied helper function
that applies the Message object as a dictionary to the format()
function. That way, we can inline the formatter definitions directly in
the FORMATTERS dictionary.
|
|
|