コード例 #1
0
ファイル: slave_api.py プロジェクト: kailIII/HenryFACTService
def do_work():
    context = zmq.Context()
    receiver = context.socket(zmq.SUB)
    receiver.connect('tcp://localhost:{}'.format(ZEROMQ_PORT))
    receiver.setsockopt(zmq.SUBSCRIBE, '')
    externalapi = ExternalApi('http://45.55.88.99:99/api/', 'nota', 'yu', 'yu')
    print 'worker ready'

    while True:
        s = receiver.recv_pyobj()
        if s.command == Command.SAVE:
            with open(s.path) as f:
                data = json_loads(f.read())
                options = InvoiceOptions()
                options.incrementar_codigo = False
                options.revisar_producto = False
                options.crear_cliente = True
                data['options'] = options
                del data.timestamp
                serialized = json_dumps(data.serialize())
                codigo = externalapi.save(serialized).json()['codigo']
                with sessionmanager as session:
                    session.query(NPedidoTemporal).filter_by(
                        id=s.uid).update({
                            NPedidoTemporal.status: 'uploaded',
                            NPedidoTemporal.external_id: codigo})
                    session.flush()
        elif s.command == Command.COMMIT:
            t = Invoice(InvMetadata, [])
            with sessionmanager as session:
                temp = session.query(NPedidoTemporal).filter_by(id=s.uid).first()
                if temp.external_id is not None:
                    t.meta.uid = temp.external_id
                    externalapi.commit(t)
コード例 #2
0
def write_inv_json(inv):
    options = InvoiceOptions()
    options.no_alm_id = True
    options.usar_decimal = True
    inv_data = inv.serialize()
    inv_data['options'] = options
    inv_str = json_dumps(inv_data)
    fname = os.path.join(JSON_DIR, inv.meta.codigo + '.json')
    with open(fname, 'w') as f:
        f.write(inv_str)
    print >> sys.stderr, ('escrito en el disco')
コード例 #3
0
ファイル: invgen.py プロジェクト: kailIII/HenryFACTService
def write_inv_json(inv):
    options = InvoiceOptions()
    options.no_alm_id = True
    options.usar_decimal = True
    inv_data = inv.serialize()
    inv_data['options'] = options
    inv_str = json_dumps(inv_data)
    fname = os.path.join(JSON_DIR, inv.meta.codigo + '.json')
    with open(fname, 'w') as f:
        f.write(inv_str)
    print >>sys.stderr, ('escrito en el disco')
コード例 #4
0
def do_work():
    context = zmq.Context()
    receiver = context.socket(zmq.SUB)
    receiver.connect('tcp://localhost:{}'.format(ZEROMQ_PORT))
    receiver.setsockopt(zmq.SUBSCRIBE, '')
    externalapi = ExternalApi('http://45.55.88.99:99/api/', 'nota', 'yu', 'yu')
    print 'worker ready'

    while True:
        s = receiver.recv_pyobj()
        if s.command == Command.SAVE:
            with open(s.path) as f:
                data = json_loads(f.read())
                options = InvoiceOptions()
                options.incrementar_codigo = False
                options.revisar_producto = False
                options.crear_cliente = True
                data['options'] = options
                del data.timestamp
                serialized = json_dumps(data.serialize())
                codigo = externalapi.save(serialized).json()['codigo']
                with sessionmanager as session:
                    session.query(NPedidoTemporal).filter_by(id=s.uid).update({
                        NPedidoTemporal.status:
                        'uploaded',
                        NPedidoTemporal.external_id:
                        codigo
                    })
                    session.flush()
        elif s.command == Command.COMMIT:
            t = Invoice(InvMetadata, [])
            with sessionmanager as session:
                temp = session.query(NPedidoTemporal).filter_by(
                    id=s.uid).first()
                if temp.external_id is not None:
                    t.meta.uid = temp.external_id
                    externalapi.commit(t)