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)