def runtask(user_id, task_id): """ Run a task for a particular user. """ with get_exchange(user_id) as x: task = x.get_task(task_id) if(not task or task['killed']): return {'response': False} origin = x.get_object(task['origin_id']) args = json.loads(task['args']) kwargs = json.loads(task['kwargs']) v = origin.get_verb(task['verb_name']) v(*args, **kwargs) return {'response': True}
def _mkproperty(self, record): """ Instantiate a interface.Property """ origin = self.instantiate('object', id=record['origin_id']) p = interface.Property(origin) p._name = record['name'] p._origin_id = record['origin_id'] p._type = record.get('type', 'string') p._owner_id = record.get('owner_id', None) val = record.get('value', '') p._value = json.loads(val, exchange=self) if val else val return p