def create(cls, session, request_id, **attrs): msg = cls(occurrence=current_timestamp(), **attrs) try: msg.request_id = Request.load(session, id=request_id).id except NoResultFound: raise OperationError(token='unknown-request') session.add(msg) return msg
def complete(self, session, data): process_id = data['process_id'] try: subject = RequestModel.load(session, id=data['request_id']) except NoResultFound: return self.push(process_id, self.outcome('failed')) products = {} for key, value in subject.products.iteritems(): products[key] = value.extract_dict(attrs='title product') values = {'request': surrogate.construct('flux.surrogates.request', subject)} status = subject.status if status in ('completed', 'declined'): outcome = status values['products'] = products else: outcome = 'failed' self.push(process_id, self.outcome(outcome, values))
def complete(self, session, data): process_id = data['process_id'] try: subject = RequestModel.load(session, id=data['request_id']) except NoResultFound: return self.push(process_id, self.outcome('failed')) products = {} for key, value in subject.products.iteritems(): products[key] = value.extract_dict(attrs='title product') values = { 'request': surrogate.construct('flux.surrogates.request', subject) } status = subject.status if status in ('completed', 'declined'): outcome = status values['products'] = products else: outcome = 'failed' self.push(process_id, self.outcome(outcome, values))