Source code for zbot.plugs.find
# zbot/plugs/find.py
#
#
""" output a set of objects. """
## IMPORTS
from zbot.utils import error, time_string, time_stamp, do_objects, format_obj, short_date
from zbot import kernel
import logging
import re
## do_find command
daylist = ["Date", "ctime", "path"]
[docs]def do_find(event):
opts = event.opts
args = event.args
knobs = event.knobs
if "mdate" not in args: args.insert(0, "mdate")
else: args.extend(list(opts.keys()))
done = []
for obj in do_objects(event):
try:
obj.mdate = short_date(obj.Date)
if not obj.mdate: obj.mdate = to_time(obj.added)
except: error()
value = None
txt = ""
for arg in args[1:]:
try: value = getattr(obj, arg)
except: continue
if not value: continue
v = re.sub("\n", " ", value)
v = re.sub("\s+", " ", v)
txt += "%s%s" % (v, " -=- ")
#txt = format_obj(obj, args)
if not txt: continue
txt = txt[:-5]
if "u" in knobs:
if txt not in done: done.append(txt)
else: done.append(txt)
for txt in sorted(done): event.reply(txt)
kernel.cmnds.register("find", do_find)