model Package

model Package

actions Module

class opennode.oms.model.model.actions.Action(context)[source]

Bases: grokcore.component.components.Subscription

subject(args)[source]
class opennode.oms.model.model.actions.ActionGrokker[source]

Bases: martian.components.ClassGrokker

execute(class_, action, **kw)[source]
class opennode.oms.model.model.actions.ActionsContainer(parent)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

Implements a dynamic view containing actions that can be performed on a given object.

content()[source]
class opennode.oms.model.model.actions.ActionsContainerExtension(context)[source]

Bases: grokcore.component.components.Subscription

extend()[source]
class opennode.oms.model.model.actions.action(*args, **kw)[source]

Bases: martian.directive.Directive

Use this directive on adapters used to define actions for specific model objects.

default = None
scope = <martian.directive.ClassScope object at 0x2821cd0>
store = <martian.directive.StoreOnce object at 0x2821910>

base Module

class opennode.oms.model.model.base.AddingContainer[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

A container which can accept items to be added to it. Doesn’t actually store them, so it’s up to subclasses to implement _add and override listcontent and listnames.

add(item)[source]
can_contain(item)[source]
rename(old_name, new_name)[source]
class opennode.oms.model.model.base.Container[source]

Bases: opennode.oms.model.model.base.AddingContainer

A base class for containers whose items are named by their __name__. Adding unnamed objects will allocated using the overridable _new_id method.

Does not support __setitem__; use add(...) instead.

remove(item)[source]
class opennode.oms.model.model.base.ContainerExtension(context)[source]

Bases: grokcore.component.components.Subscription

extend()[source]
class opennode.oms.model.model.base.ContainerInjector(context)[source]

Bases: grokcore.component.components.Subscription

inject()[source]
class opennode.oms.model.model.base.MarkerSourceBinder[source]

Bases: object

class opennode.oms.model.model.base.Model[source]

Bases: persistent.Persistent

classmethod class_implemented_interfaces()[source]
features
classmethod get_class_features()[source]
get_features()[source]
implemented_interfaces()[source]
set_features(values)[source]

Features is a pseudo attribute which allows us to treat marker interfaces as if they were attributes. This special setter behaves like the tags setter, allowing addition and removal of individual marker interfaces from omsh.

class opennode.oms.model.model.base.ReadonlyContainer[source]

Bases: opennode.oms.model.model.base.Model

A container whose items cannot be modified, i.e. are predefined.

can_contain(item)[source]

A read only container cannot accept new children

content(*args, **kwargs)[source]
listcontent()[source]
listnames()[source]

bin Module

class opennode.oms.model.model.bin.Bin[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

content()[source]
class opennode.oms.model.model.bin.Command(name, parent, cmd)[source]

Bases: opennode.oms.model.model.base.Model

byname Module

class opennode.oms.model.model.byname.ByNameContainer(parent)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

Implements a dynamic view creating a symlink for each parent’s object which provides a display_name() value.

content()[source]
class opennode.oms.model.model.byname.ByNameContainerExtension(context)[source]

Bases: grokcore.component.components.Subscription

extend()[source]

filtrable Module

class opennode.oms.model.model.filtrable.DefaultFiltrable(context)[source]

Bases: grokcore.component.components.Adapter

match(query)[source]
class opennode.oms.model.model.filtrable.ModelFiltrable(context)[source]

Bases: grokcore.component.components.Adapter

match(query)[source]

log Module

class opennode.oms.model.model.log.Log[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

news[source]

news Module

class opennode.oms.model.model.news.News[source]

Bases: opennode.oms.model.model.base.Container

class opennode.oms.model.model.news.NewsItem(message)[source]

Bases: opennode.oms.model.model.base.Model

nicknames[source]

plugins Module

class opennode.oms.model.model.plugins.PluginInfo(parent, name)[source]

Bases: opennode.oms.model.model.base.Model

initialize()[source]
class opennode.oms.model.model.plugins.Plugins[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

ENTRY_POINT_NAME = 'oms.plugins'
instance = None
load_eggs(search_path, auto_enable=None)[source]
load_plugin(entry)[source]
load_plugins()[source]
opennode.oms.model.model.plugins.load_plugins(event)[source]

proc Module

class opennode.oms.model.model.proc.CompletedProc(parent, tasks)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

content()[source]
class opennode.oms.model.model.proc.ContinueTaskAction(context)[source]

Bases: opennode.oms.model.model.proc.SignalAction

Send CONT signal

class opennode.oms.model.model.proc.DaemonProcess[source]

Bases: object

signal_handler(name)[source]
class opennode.oms.model.model.proc.DaemonStateRenderer(context)[source]

Bases: grokcore.component.components.Adapter

class opennode.oms.model.model.proc.Proc[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

content()[source]
instance = None
classmethod register(deferred, subject, cmdline=None, ptid='1', principal=None, write_buffer=None)[source]
spawn(process)[source]
start_daemons()[source]
classmethod unregister(id_)[source]
class opennode.oms.model.model.proc.SignalAction(context)[source]

Bases: opennode.oms.model.model.actions.Action

Send a given signal

execute(cmd, args)[source]
class opennode.oms.model.model.proc.StopTaskAction(context)[source]

Bases: opennode.oms.model.model.proc.SignalAction

Send STOP signal

class opennode.oms.model.model.proc.Task(name, parent, subject, deferred, cmdline, ptid, signal_handler=None, principal=None, write_buffer=None)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

nicknames[source]
signal(name)[source]
stdout[source]
uptime[source]
class opennode.oms.model.model.proc.TerminateTaskAction(context)[source]

Bases: opennode.oms.model.model.proc.SignalAction

Send TERM signal

opennode.oms.model.model.proc.start_daemons(event)[source]

root Module

class opennode.oms.model.model.root.OmsRoot[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

The root of the OMS DB.

This model is the root of the object hierarchy.

Absolute object traversals start from this object.

class opennode.oms.model.model.root.RootContainerExtension(context)[source]

Bases: grokcore.component.components.Subscription

extend()[source]
class opennode.oms.model.model.root.RootContainerInjector(context)[source]

Bases: grokcore.component.components.Subscription

inject()[source]

search Module

class opennode.oms.model.model.search.ClearIndexAction(context)[source]

Bases: opennode.oms.model.model.actions.Action

Clear index

execute(cmd, args)[source]
class opennode.oms.model.model.search.ModelTags(context)[source]

Bases: grokcore.component.components.Adapter

auto_tags()[source]
get_tags()[source]
set_tags(values)[source]

If tag names begin with + or - this setter will add or remove tags from the tag set, otherwise the set will be replaced.

Tags are composed of a ‘prefix’ and a ‘name’. If not specified, the default prefix is ‘label:’. The user cannot add/remove tags in the one of the ‘reserved prefixes’.

tags
class opennode.oms.model.model.search.ModelTokenizer(context)[source]

Bases: grokcore.component.components.Adapter

tokens()[source]

Hackish way to quickly take all important tokens

class opennode.oms.model.model.search.ReindexAction(context)[source]

Bases: opennode.oms.model.model.actions.Action

Force reindex

execute(cmd, args)[source]
class opennode.oms.model.model.search.SearchByTagContainer(parent)[source]

Bases: opennode.oms.model.model.base.AddingContainer

tags[source]
class opennode.oms.model.model.search.SearchContainer[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

clear()[source]
index_object(obj)[source]
search(**kwargs)[source]
search_goog(query)[source]
unindex_object(obj)[source]
class opennode.oms.model.model.search.SearchResult(parent, query)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

search_goog(query)[source]
class opennode.oms.model.model.search.Tag(name, searcher, parent, other_tags, tag_path)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

class opennode.oms.model.model.search.TagItems(parent, searcher)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

opennode.oms.model.model.search.enqueue_for_indexing(model, event)[source]

stream Module

class opennode.oms.model.model.stream.Metrics(parent)[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

class opennode.oms.model.model.stream.MetricsContainerExtension(context)[source]

Bases: grokcore.component.components.Subscription

extend()[source]
class opennode.oms.model.model.stream.ModelStream(context)[source]

Bases: opennode.oms.model.model.stream.TransientStream

class opennode.oms.model.model.stream.StreamSubscriber[source]

Bases: opennode.oms.model.model.base.ReadonlyContainer

class opennode.oms.model.model.stream.TransientStream(context)[source]

Bases: grokcore.component.components.Adapter

A stream which stores the data in memory in a capped collection

MAX_LEN = 100
add(event)[source]
data[source]
events(after, limit=None)[source]
transient_store = defaultdict(<type 'list'>, {})
class opennode.oms.model.model.stream.TransientStreamModel(parent, name)[source]

Bases: opennode.oms.model.model.base.Model

A model which represents a a transient stream

opennode.oms.model.model.stream.model_created(model, event)[source]
opennode.oms.model.model.stream.model_deleted(model, event)[source]
opennode.oms.model.model.stream.model_modified(model, event)[source]