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)