Source code for mods.storage

# mods/storage.py
#
#

""" commands to manipulate objects in the backend storage. """

from mads.time import to_day, now, day
from mads.getters import slice

from mids import kernel

import time

[docs]def rm(event): """ set deleted flag on objects. """ nr = 0 for object in kernel.selected(event): object.deleted = True object.sync() nr += 1 event.ok(nr)
[docs]def restore(event): """ set deleted=False in selected records. """ nr = 0 event.nodel = True for object in kernel.selected(event): object.deleted = False object.sync() nr += 1 if not nr: event.reply("no results") event.ok(nr)
[docs]def week(event): """ show last week's logged objects. """ event._parsed.start = to_day(day()) - 7 * 24 * 60 * 60 event._parsed.end = time.time() nr = 0 for object in kernel.selected(event): nr += 1 event.display(object, event._parsed.args, str(nr)) if not nr: event.reply("no results")
[docs]def today(event): """ show objects logged for today. """ event._parsed.start = to_day(day()) event._parsed.end = time.time() nr = 0 for object in kernel.selected(event): nr += 1 event.display(object, event._parsed.args, str(nr)) if not nr: event.reply("no results")
[docs]def yesterday(event): """ show objects added yesterday. """ event._parsed.start = to_day(day()) - 24 * 60 * 60 event._parsed.end = to_day(day()) nr = 0 for object in kernel.selected(event): nr += 1 event.display(object, event._parsed.args, str(nr)) if not nr: event.reply("no results")
[docs]def sequence(event): """ show sequence of events. """ if "end" not in event._parsed: end = to_day(day()) else: end = event._parsed.end if "start" not in event._parsed: start = 0 else: start = event._parsed.start nr = 0 for o in kernel.sequence(start, end, skip=["feeds", "seen"]): nr += 1 event.reply(o.nice()) if not nr: event.reply("no results")
[docs]def find(event): """ present a list of objects based on prompt input. """ nr = 0 for obj in kernel.selected(event): nr += 1 event.display(obj, event._parsed.args, str(nr), direct=True) if not nr: event.reply("no results")
[docs]def deleted(event): """ show deleted records. """ event.nodel = True nr = 0 for object in kernel.selected(event): nr += 1 event.display(object, event._parsed.args, str(nr)) if not nr: event.reply("no results")
[docs]def dump(event): """ dump objects matching the given criteria. """ nr = 0 for object in kernel.selected(event): nr += 1 event.reply(object.nice()) if not nr: event.reply("no results")
[docs]def first(event): """ show the first record matching the given criteria. """ object = kernel.first(*event._parsed.args) if object: event.reply(object.nice()) else: event.reply("no result")
[docs]def last(event): """ show last objectect matching the criteria. """ object = kernel.last(*event._parsed.args) if object: event.reply(object.nice()) else: event.reply("no result")