mirror of
https://bitbucket.org/presik/presik_pos.git
synced 2023-12-14 06:03:00 +01:00
55 lines
1.3 KiB
Python
55 lines
1.3 KiB
Python
# This file is part of Neo. The COPYRIGHT file at the top level of
|
|
# this repository contains the full copyright notices and license terms.
|
|
|
|
import logging
|
|
import socket
|
|
from .jsonrpc import ServerProxy, Fault
|
|
|
|
CONNECTION = None
|
|
_USER = None
|
|
_USERNAME = ''
|
|
_HOST = ''
|
|
_PORT = None
|
|
_DATABASE = ''
|
|
CONTEXT = {}
|
|
|
|
|
|
def server_version(host, port):
|
|
try:
|
|
connection = ServerProxy(host, port)
|
|
logging.getLogger(__name__).info(
|
|
'common.server.version(None, None)')
|
|
result = connection.common.server.version()
|
|
logging.getLogger(__name__).debug(repr(result))
|
|
return result
|
|
except (Fault, socket.error):
|
|
raise
|
|
|
|
|
|
def _execute(conn, *args):
|
|
global CONNECTION, _USER
|
|
name = '.'.join(args[:3])
|
|
args = args[3:]
|
|
result = getattr(conn.server, name)(*args)
|
|
return result
|
|
|
|
def execute(conn, *args):
|
|
return _execute(conn, *args)
|
|
|
|
|
|
class RPCProgress(object):
|
|
|
|
def __init__(self, conn, method, args):
|
|
self.method = method
|
|
self.args = args
|
|
self.conn = conn
|
|
self.res = None
|
|
self.error = False
|
|
self.exception = None
|
|
|
|
def run(self):
|
|
try:
|
|
res = execute(self.conn, *self.args)
|
|
except:
|
|
print('RPC progress... Unknown exception')
|
|
return res
|