blob: a78b117ecb9b8c28dfbb13cbd84a32058227493a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
from sqlalchemy.sql.expression import or_, between
from quarg.database.tables import Backlog, Buffer, Network, QuasselUser, Sender
def msg_like(query):
return Backlog.message.like(query, escape='\\')
def msg_contains(query):
return Backlog.message.contains(query, autoescape=True)
def buffer(name):
return Buffer.buffername == name
def nick(nickname):
return or_(Sender.sender.like(nickname + "!%"), Sender.sender == nickname)
def prefix(pref):
return Backlog.senderprefixes.contains(pref)
def buftype(btype):
return Buffer.buffertype == btype.value
def msgflag(flag):
return Backlog.flags == flag.value
def msgtype(mtype):
return Backlog.type == mtype.value
def user(name):
return QuasselUser.username == name
def network(name):
return Network.networkname == name
def time_around(datetuple):
start, end = datetuple
return between(Backlog.time, start, end)
def time_after(date):
return Backlog.time >= date
def time_before(date):
return Backlog.time <= date
def joined(boolean):
return Buffer.joined == boolean
def any_filter(fun, items):
return or_(*[fun(item) for item in items])
|