aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeLines
* filters: Rename time_from and time_toWolfgang Müller2021-04-28-6/+6
| | | | | These make more sense and are clearer if they're named after the command line arguments that trigger them.
* main: Make --around mutually exclusive with either --after or --beforeWolfgang Müller2021-04-28-2/+6
| | | | | | 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.
* main: Make --joined and --no-joined mutually exclusiveWolfgang Müller2021-04-28-3/+4
| | | | | | 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.
* formatter: Make parameter name for format_netsplit clearerWolfgang Müller2021-04-28-6/+6
|
* Move Actions to their own fileWolfgang Müller2021-04-28-68/+71
|
* Split errx and parse_isodate out into utils.pyWolfgang Müller2021-04-28-14/+16
| | | | | We're going to need this for an upcoming commit that moves all argparse.Action classes to its own file.
* main: Improve readability of collect_predicatesWolfgang Müller2021-04-28-10/+19
| | | | | Instead of adding another indentation level, exit early if a value or a key can be ignored.
* formatter: Implement truncation of joined/quit users in netsplitsWolfgang Müller2021-04-28-13/+14
| | | | | | | 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.
* formatter: Use functools.partial to simplify the formatterWolfgang Müller2021-04-28-32/+9
| | | | | | | | 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.
* Initial prototypeWolfgang Müller2021-04-28-0/+522