Example #1
0
File: message.py Project: siq/flux
    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
Example #2
0
File: message.py Project: siq/flux
    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
Example #3
0
File: request.py Project: siq/flux
    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))
Example #4
0
File: request.py Project: siq/flux
    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))