Source code for core.plugs.search
# core/plugs/search.py
#
#
""" doorzoek de opslag. """
## IMPORTS
from core.kernel import kernel
from core.thing import Thing
## CMNDS
[docs]def search_find(event):
objs = sorted(event.selected(event.parsed), key=lambda x: x.get_timed())
nr = 1
for obj in objs: event.reply("%s %s" % (nr, obj.display(event.parsed))) ; nr += 1
kernel.register("search.find", search_find)
[docs]def search_dump(event):
objs = sorted(event.selected(event.parsed), key=lambda x: x.get_timed())
for obj in objs: event.reply(obj.json())
kernel.register("search.dump", search_dump)
[docs]def search_period(event):
fns = event.period(event.parsed)
for fn in fns: event.reply(fn)
kernel.register("search.period", search_period)
[docs]def search_all(event):
search_term = event.parsed.args[0]
if not search_term: return
keys = []
for fn in kernel.all():
obj = Thing().load(fn)
for key in obj:
if search_term in str(obj[key]) and key not in keys: keys.append(key)
if keys: event.reply(", ".join(keys))
kernel.register("search.all", search_all)
[docs]def store_deleted(event):
if not event.parsed.args: return
key = event.parsed.args[0]
nr = 0
for fn in kernel.all(key):
obj = Thing().load(fn)
if "deleted" not in obj: continue
event.reply(obj.get(key, ""))
kernel.register("store.deleted", store_deleted)
[docs]def store_first(event): event.reply(kernel.first(*event.parsed.args))
kernel.register("store.first", store_first)
[docs]def store_last(event): event.reply(kernel.last(*event.parsed.args))
kernel.register("store.last", store_last)