diff options
Diffstat (limited to '')
-rw-r--r-- | quarg/main.py | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/quarg/main.py b/quarg/main.py index c9a3557..083166c 100644 --- a/quarg/main.py +++ b/quarg/main.py @@ -15,24 +15,26 @@ from quarg.utils import errx # pylint: disable=line-too-long cli = argparse.ArgumentParser() -cli.add_argument('query', nargs='*', help='match messages containing this query') -cli.add_argument('-d', action='store_true', dest='debug', help='print SQL query information') -cli.add_argument('-e', action='store_true', dest='expr', help='interpret query as LIKE expression') -cli.add_argument('-b', action='append', dest='buffer', help='match messages sent to this buffer') -cli.add_argument('-B', action=actions.ParseBufferType, dest='buftype', help='match messages sent to buffers of this type') -cli.add_argument('-n', action='append', dest='nick', help='match messages sent by this nickname') -cli.add_argument('-N', action='append', dest='network', help='match messages sent to this network') -cli.add_argument('-u', action='append', dest='user', help='match messages sent to this quassel user') -cli.add_argument('-t', action=actions.ParseMessageType, dest='msgtype', help='match messages of this message type') -cli.add_argument('-f', action=actions.ParseMessageFlag, dest='msgflag', help='match messages with this flag') -cli.add_argument('-m', action='append', dest='umode', help='match messages sent by users with this mode') -cli.add_argument('--after', action=actions.ParseDate, metavar='DATE', help='match messages sent after this date') -cli.add_argument('--before', action=actions.ParseDate, metavar='DATE', help='match messages sent before this date') -cli.add_argument('--around', action=actions.ParseAround, metavar='DATE', help='match messages sent within 12 hours of this date') - -joined_group = cli.add_mutually_exclusive_group() -joined_group.add_argument('--joined', default=None, action='store_true', dest='joined', help='match messages sent to channels which are currently joined') -joined_group.add_argument('--no-joined', default=None, action='store_false', dest='joined', help='match messages sent to channels which are not currently joined') +cli.add_argument('keyword', nargs='*', help='match messages containing this keyword') +cli.add_argument('-d', action='store_true', dest='debug', help='print debug and SQL query information') +cli.add_argument('-e', action='store_true', dest='expr', help='interpret keywords as LIKE expression') +matchers = cli.add_argument_group('matching message context') +matchers.add_argument('-b', action='append', dest='buffer', help='match this buffer') +matchers.add_argument('-B', action=actions.ParseBufferType, dest='buftype', help='match buffers of this type') +matchers.add_argument('-n', action='append', dest='nick', help='match this nickname') +matchers.add_argument('-m', action='append', dest='umode', help='match nicknames with this mode') +matchers.add_argument('-N', action='append', dest='network', help='match this network') +matchers.add_argument('-Q', action='append', dest='user', help='match this quassel user') +matchers.add_argument('-t', action=actions.ParseMessageType, dest='msgtype', help='match this message type') +matchers.add_argument('-f', action=actions.ParseMessageFlag, dest='msgflag', help='match this message flag') +date_matchers = cli.add_argument_group('matching message timestamps') +date_matchers.add_argument('--after', action=actions.ParseDate, metavar='DATE', help='sent after this date') +date_matchers.add_argument('--before', action=actions.ParseDate, metavar='DATE', help='sent before this date') +date_matchers.add_argument('--around', action=actions.ParseAround, metavar='DATE[/RANGE]', help='sent RANGE hours before or after this date') + +joined_group = matchers.add_mutually_exclusive_group() +joined_group.add_argument('--joined', default=None, action='store_true', dest='joined', help='match buffers which are currently joined') +joined_group.add_argument('--no-joined', default=None, action='store_false', dest='joined', help='match buffers which are not currently joined') # pylint: enable=line-too-long Session = sessionmaker() @@ -56,7 +58,7 @@ def check_args(args): def collect_predicates(args): funs = { - 'query': filters.msg_like if args.expr else filters.msg_contains, + 'keyword': filters.msg_like if args.expr else filters.msg_contains, 'buffer': filters.buffer, 'nick': filters.nick, 'after': filters.time_after, |