Exemple #1
0
    def __createverb(self, subject, plugin):
        plugin = action.abstract_string(plugin)
        plugin = '_'.join(plugin.split())
        factory = self.__registry.get_module(plugin)

        if not factory:
            return async .failure('no such agent')

        class DummyDelegate():
            def __init__(self):
                self.errors = []

            def add_error(self, msg):
                self.errors.append(msg)

        delegate = DummyDelegate()
        address = self.__workspace.create(factory, delegate)

        if not address:
            return [
                action.error_return(m, plugin, 'create', ENG)
                for m in delegate.errors
            ]

        return action.concrete_return(address)
Exemple #2
0
    def __do_verb(self, subject, text, at, until, every, called):
        text = action.abstract_string(text)
        schema = schedproxy.make_schema(at, until, every)
        called = int(action.abstract_string(called)) if called else None
        print 'mode schema is:', schema

        if called and called in self[3]:
            yield async .Coroutine.success(
                action.error_return('name in use', '', 'do'))

        e = self.__create_event(schema, called)
        r = e.set_phrase(text)
        yield r
        yield async .Coroutine.success()
Exemple #3
0
    def __do_verb(self, subject, t, k, c):
        t = action.abstract_string(t)
        k = int(action.abstract_string(k))
        c = int(action.abstract_string(c)) if c else None

        if k not in self[3]:
            self.__update_lights(k)
            self[3][k] = Key(self, self.controller, k)

        if c and c in self[3][k]:
            yield async .Coroutine.success(
                action.error_return('name in use', '', 'do'))

        r = self[3][k].create_event(t, c)
        yield r
        yield async .Coroutine.success()
Exemple #4
0
    def __do_verb(self,subject,phrase,row,c):
        phrase = action.abstract_string(phrase)
        row = int(action.abstract_string(row))
        c = int(action.abstract_string(c)) if c else None
       
        target = None

        if self[5].has_key(row):
            target = self[5][row]

        if target is None:
            target = RowTarget(self,row)
            self[5][row] = target

        if c and c in self[5][row]:
            yield async.Coroutine.success(action.error_return('name in use','','do'))

        e = target.create_event(phrase,c)
        yield e
        yield async.Coroutine.success()
Exemple #5
0
def state_error(obj_id, verb):
    return action.error_return("%id isnt %s", obj_id, verb)
Exemple #6
0
def cant_find(id, verb):
    return action.error_return("can't find %id", id, verb, ENG)
Exemple #7
0
def already_exists(thing, verb):
    return action.error_return('%s already exists', thing, verb, ENG)
Exemple #8
0
def doesnt_exist(thing, verb):
    return action.error_return('%s does not exist', thing, verb, ENG)
Exemple #9
0
def nothing_to_do(verb):
    return action.error_return('Nothing to do', '', verb, ENG)
Exemple #10
0
def integer_required(verb):
    return action.error_return('Integer value required', '', verb, ENG)
Exemple #11
0
def invalid_value(value, verb):
    return action.error_return('%s cant %s', value, verb)
Exemple #12
0
def cant_error(obj_id, verb):
    return action.error_return("%id cant %s", obj_id, verb)
Exemple #13
0
def message(msg):
    return action.error_return(msg, '', '', ENG)
Exemple #14
0
def no_current_voice(val, verb):
    return action.error_return("no current voice %s", val, verb, ENG)
Exemple #15
0
def state_error1(name, verb):
    return action.error_return("%s isnt %s", name, verb)
Exemple #16
0
def invalid_thing(thing, verb):
    return action.error_return("%s is not valid", thing, verb, ENG)
Exemple #17
0
def out_of_range(range, verb):
    return action.error_return('Allowable range is %s', range, verb, ENG)