blob: 75142acb9f5292614729d4eed74e8715cc03346c (
plain) (
tree)
|
|
from sqlalchemy.sql.expression import between, or_
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])
|