|
|
|
@ -916,7 +916,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
pass
|
|
|
|
|
return ActiveClientStatus.Failed
|
|
|
|
|
with cls.sid_locker:
|
|
|
|
|
with open(sid_file) as fd:
|
|
|
|
|
with open(sid_file, "rb") as fd:
|
|
|
|
|
# read information about session
|
|
|
|
|
sid_inf = pickle.load(fd)
|
|
|
|
|
# reset counters
|
|
|
|
@ -925,7 +925,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
fd.close()
|
|
|
|
|
if not os.path.isfile(sid_file):
|
|
|
|
|
return ActiveClientStatus.Failed
|
|
|
|
|
fd = open(sid_file, "w")
|
|
|
|
|
fd = open(sid_file, "wb")
|
|
|
|
|
pickle.dump(sid_inf, fd)
|
|
|
|
|
fd.close()
|
|
|
|
|
return ActiveClientStatus.Success
|
|
|
|
@ -984,7 +984,6 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
@staticmethod
|
|
|
|
|
def return_guiMethod():
|
|
|
|
|
from .loaded_methods import LoadedMethods
|
|
|
|
|
|
|
|
|
|
results = []
|
|
|
|
|
dv = DataVars()
|
|
|
|
|
dv.importVariables()
|
|
|
|
@ -1007,7 +1006,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
@staticmethod
|
|
|
|
|
def serv_get_sessions(cls):
|
|
|
|
|
result = []
|
|
|
|
|
fd = open(cls.sids_file, 'r')
|
|
|
|
|
fd = open(cls.sids_file, 'rb')
|
|
|
|
|
while 1:
|
|
|
|
|
try:
|
|
|
|
|
# read all on one record
|
|
|
|
@ -1026,7 +1025,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
if not os.path.isfile(sid_path):
|
|
|
|
|
return 1
|
|
|
|
|
with cls.sid_locker:
|
|
|
|
|
with open(sid_path) as fd:
|
|
|
|
|
with open(sid_path, "rb") as fd:
|
|
|
|
|
# read information about session
|
|
|
|
|
sid_inf = pickle.load(fd)
|
|
|
|
|
# flag absence client
|
|
|
|
@ -1080,7 +1079,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
|
|
|
|
|
pid_file = path.join(Basic.pids, '%d.pid' % self.pid)
|
|
|
|
|
try:
|
|
|
|
|
with open(pid_file, 'w') as f:
|
|
|
|
|
with open(pid_file, 'wb') as f:
|
|
|
|
|
d = {'name': self.process_dict['method_name'],
|
|
|
|
|
'mode': ProcessMode.CoreDaemon,
|
|
|
|
|
'os_pid': os.getpid(),
|
|
|
|
@ -1138,7 +1137,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
id = random.randint(1, self.Num)
|
|
|
|
|
self.progress_dict['id'] = id
|
|
|
|
|
self.progress_dict[id] = ReturnProgress(0, '', '')
|
|
|
|
|
self.addMessage(type='progress', id=id)
|
|
|
|
|
self.addMessage(message_type='progress', id=id)
|
|
|
|
|
|
|
|
|
|
def printTable(self, table_name, head, body, fields=None,
|
|
|
|
|
onClick=None, addAction=None, step=None,
|
|
|
|
@ -1154,18 +1153,19 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
onClick=onClick, addAction=addAction, step=step,
|
|
|
|
|
values=None, records=records)
|
|
|
|
|
self.table_dict[id] = table
|
|
|
|
|
self.addMessage(type='table', message=table_name, id=id)
|
|
|
|
|
self.addMessage(message_type='table', message=table_name, id=id)
|
|
|
|
|
|
|
|
|
|
def addMessage(self, type='normal', message=None, id=None,
|
|
|
|
|
def addMessage(self, message_type='normal', message=None, id=None,
|
|
|
|
|
onlyShow='', default=None):
|
|
|
|
|
from .api_types import Message
|
|
|
|
|
|
|
|
|
|
re_clean = re.compile(r'\[(?:\d+;)?\d+m')
|
|
|
|
|
messageObj = Message(
|
|
|
|
|
type=type,
|
|
|
|
|
message_type=message_type,
|
|
|
|
|
message=(
|
|
|
|
|
None if message in (None, True, False)
|
|
|
|
|
else re_clean.sub('', [x for x in message if x >= ' '])),
|
|
|
|
|
# else re_clean.sub('', [x for x in message if x >= ' '])),
|
|
|
|
|
else re_clean.sub('', message)),
|
|
|
|
|
result=message if message in (True, False) else None,
|
|
|
|
|
id=id, onlyShow=onlyShow, default=default)
|
|
|
|
|
try:
|
|
|
|
@ -1173,7 +1173,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
except BaseException as e:
|
|
|
|
|
if isinstance(e, KeyboardInterrupt):
|
|
|
|
|
raise
|
|
|
|
|
print(_(("%s:" % type) + str(message)))
|
|
|
|
|
print(_(("%s:" % message_type) + str(message)))
|
|
|
|
|
|
|
|
|
|
def dropProgress(self):
|
|
|
|
|
perc = self.getProgress()
|
|
|
|
@ -1187,45 +1187,45 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
|
|
|
|
|
def printSUCCESS(self, message='', onlyShow=None):
|
|
|
|
|
self.dropProgress()
|
|
|
|
|
self.addMessage(type='normal', message=message,
|
|
|
|
|
self.addMessage(message_type='normal', message=message,
|
|
|
|
|
onlyShow=onlyShow)
|
|
|
|
|
|
|
|
|
|
def printPre(self, message='', onlyShow=None):
|
|
|
|
|
self.dropProgress()
|
|
|
|
|
self.addMessage(type='pre', message=message,
|
|
|
|
|
self.addMessage(message_type='pre', message=message,
|
|
|
|
|
onlyShow=onlyShow)
|
|
|
|
|
|
|
|
|
|
def printDefault(self, message='', onlyShow=None):
|
|
|
|
|
self.dropProgress()
|
|
|
|
|
self.addMessage(type='plain', message=message,
|
|
|
|
|
self.addMessage(message_type='plain', message=message,
|
|
|
|
|
onlyShow=onlyShow)
|
|
|
|
|
|
|
|
|
|
def printWARNING(self, message, onlyShow=None):
|
|
|
|
|
self.dropProgress()
|
|
|
|
|
self.addMessage(type='warning', message=message,
|
|
|
|
|
self.addMessage(message_type='warning', message=message,
|
|
|
|
|
onlyShow=onlyShow)
|
|
|
|
|
|
|
|
|
|
def printERROR(self, message='', onlyShow=None):
|
|
|
|
|
self.dropProgress()
|
|
|
|
|
self.addMessage(type='error', message=message,
|
|
|
|
|
self.addMessage(message_type='error', message=message,
|
|
|
|
|
onlyShow=onlyShow)
|
|
|
|
|
|
|
|
|
|
def startTask(self, message, progress=False, num=1):
|
|
|
|
|
if progress:
|
|
|
|
|
self.addMessage(type='startTask', message=message, id=num)
|
|
|
|
|
self.addMessage(message_type='startTask', message=message, id=num)
|
|
|
|
|
self.addProgress()
|
|
|
|
|
else:
|
|
|
|
|
self.addMessage(type='startTask', message=message, id=num)
|
|
|
|
|
self.addMessage(message_type='startTask', message=message, id=num)
|
|
|
|
|
|
|
|
|
|
def setTaskNumber(self, number=None):
|
|
|
|
|
self.addMessage(type='taskNumber', message=str(number))
|
|
|
|
|
self.addMessage(message_type='taskNumber', message=str(number))
|
|
|
|
|
|
|
|
|
|
def endTask(self, result=None, progress_message=None):
|
|
|
|
|
self.addMessage(type='endTask', message=result)
|
|
|
|
|
self.addMessage(message_type='endTask', message=result)
|
|
|
|
|
self.setProgress(100, progress_message)
|
|
|
|
|
|
|
|
|
|
def askConfirm(self, message, default="yes"):
|
|
|
|
|
self.addMessage(type='confirm', message=message, default=default)
|
|
|
|
|
self.addMessage(message_type='confirm', message=message, default=default)
|
|
|
|
|
ret = self.getAnswer()
|
|
|
|
|
if ret == "":
|
|
|
|
|
return default
|
|
|
|
@ -1235,32 +1235,32 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def askChoice(self, message, answers=(("yes", "Yes"), ("no", "No"))):
|
|
|
|
|
self.addMessage(type='choice', message="%s|%s" % (
|
|
|
|
|
self.addMessage(message_type='choice', message="%s|%s" % (
|
|
|
|
|
message,
|
|
|
|
|
",".join(map(lambda x: "%s(%s)" % (x[0], x[1]), answers))))
|
|
|
|
|
",".join(("%s(%s)" % (x[0], x[1]) for x in answers))))
|
|
|
|
|
return self.getAnswer()
|
|
|
|
|
|
|
|
|
|
def askQuestion(self, message):
|
|
|
|
|
self.addMessage(type='question', message=message)
|
|
|
|
|
self.addMessage(message_type='question', message=message)
|
|
|
|
|
return self.getAnswer()
|
|
|
|
|
|
|
|
|
|
def askPassword(self, message, twice=False):
|
|
|
|
|
pas_repeat = 2 if twice else 1
|
|
|
|
|
self.addMessage(type='password', message=message,
|
|
|
|
|
self.addMessage(message_type='password', message=message,
|
|
|
|
|
id=pas_repeat)
|
|
|
|
|
return self.getAnswer()
|
|
|
|
|
|
|
|
|
|
def beginFrame(self, message=None):
|
|
|
|
|
self.addMessage(type='beginFrame', message=message)
|
|
|
|
|
self.addMessage(message_type='beginFrame', message=message)
|
|
|
|
|
|
|
|
|
|
def endFrame(self):
|
|
|
|
|
self.addMessage(type='endFrame')
|
|
|
|
|
self.addMessage(message_type='endFrame')
|
|
|
|
|
|
|
|
|
|
def startGroup(self, message):
|
|
|
|
|
self.addMessage(type='startGroup', message=message)
|
|
|
|
|
self.addMessage(message_type='startGroup', message=message)
|
|
|
|
|
|
|
|
|
|
def endGroup(self):
|
|
|
|
|
self.addMessage(type='endGroup')
|
|
|
|
|
self.addMessage(message_type='endGroup')
|
|
|
|
|
|
|
|
|
|
# def cache(self, param):
|
|
|
|
|
# sid = self.process_dict['sid']
|
|
|
|
@ -1395,7 +1395,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
OpenSSL.SSL.FILETYPE_PEM, cert)
|
|
|
|
|
com = certobj.get_extension(
|
|
|
|
|
certobj.get_extension_count() - 1).get_data()
|
|
|
|
|
groups = com.split(':')[1]
|
|
|
|
|
groups = com.split(b':')[1].decode("UTF-8")
|
|
|
|
|
groups_list = groups.split(',')
|
|
|
|
|
# except:
|
|
|
|
|
# return ['-1']
|
|
|
|
@ -1491,7 +1491,7 @@ class CoreWsdl(CoreServiceInterface):
|
|
|
|
|
if os.path.exists(sid_file):
|
|
|
|
|
# fd = open(sid_file, 'r')
|
|
|
|
|
|
|
|
|
|
with open(sid_file, 'r') as fd:
|
|
|
|
|
with open(sid_file, 'rb') as fd:
|
|
|
|
|
try:
|
|
|
|
|
list_sid = pickle.load(fd)
|
|
|
|
|
list_sid_sid = int(list_sid[0])
|
|
|
|
@ -1733,7 +1733,7 @@ class WsdlMeta(type):
|
|
|
|
|
if callable(v):
|
|
|
|
|
v = v(dv)
|
|
|
|
|
else:
|
|
|
|
|
if isinstance(v, (str, unicode)):
|
|
|
|
|
if isinstance(v, (str)):
|
|
|
|
|
v = Variable._value_formatter.format(v, dv.Get)
|
|
|
|
|
dv.Set(k.strip('!'), v, force=k.endswith('!'))
|
|
|
|
|
|
|
|
|
@ -1748,9 +1748,9 @@ class WsdlMeta(type):
|
|
|
|
|
lang_changed = False
|
|
|
|
|
if kwargs["groups"]:
|
|
|
|
|
def group(*args, **kwargs):
|
|
|
|
|
if isinstance(kwargs.get('normal', ()), (unicode, str)):
|
|
|
|
|
if isinstance(kwargs.get('normal', ()), (str)):
|
|
|
|
|
raise DataVarsError(_("Wrong normal varaiables list"))
|
|
|
|
|
if isinstance(kwargs.get('expert', ()), (unicode, str)):
|
|
|
|
|
if isinstance(kwargs.get('expert', ()), (str)):
|
|
|
|
|
raise DataVarsError(_("Wrong expert varaiables list"))
|
|
|
|
|
|
|
|
|
|
for gr in kwargs['groups']:
|
|
|
|
@ -1847,11 +1847,11 @@ class WsdlMeta(type):
|
|
|
|
|
return wrapper
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class WsdlBase(object):
|
|
|
|
|
class WsdlBase(metaclass=WsdlMeta):
|
|
|
|
|
"""
|
|
|
|
|
Базовый класс для автосоздания методов по описанию methods
|
|
|
|
|
"""
|
|
|
|
|
__metaclass__ = WsdlMeta
|
|
|
|
|
# __metaclass__ = WsdlMeta
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def clearDataVars(func):
|
|
|
|
|