|
|
|
@ -32,7 +32,7 @@ from ReturnMessage import ReturnedMessage
|
|
|
|
|
import urllib2, time
|
|
|
|
|
from os import path
|
|
|
|
|
|
|
|
|
|
DEBUG_LEVEL = 20
|
|
|
|
|
DEBUG_LEVEL = 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def debug(level, *args):
|
|
|
|
@ -106,7 +106,6 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
# структура отправляемая при вызове метода
|
|
|
|
|
self.param_object = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.buttons = []
|
|
|
|
|
|
|
|
|
|
# for clear memory after closed this window
|
|
|
|
@ -161,6 +160,8 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
params[method_name]['step'] = 0
|
|
|
|
|
params[method_name]['info'] = None
|
|
|
|
|
params[method_name]['error'] = None
|
|
|
|
|
params[method_name]['expert'] = False
|
|
|
|
|
params[method_name]['expert_changed'] = set()
|
|
|
|
|
params[method_name]['offset'] = 0
|
|
|
|
|
params[method_name]['fields'] = {}
|
|
|
|
|
params[method_name]['steps_field'] = None
|
|
|
|
@ -185,6 +186,8 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
debug(10, "CLEAR CACHE INFO for ", method_name)
|
|
|
|
|
self.ClientObj.param_objects[method_name]['info'] = None
|
|
|
|
|
self.ClientObj.param_objects[method_name]['offset'] = 0
|
|
|
|
|
self.ClientObj.param_objects[method_name]['expert'] = False
|
|
|
|
|
self.ClientObj.param_objects[method_name]['expert_changed'] = set()
|
|
|
|
|
|
|
|
|
|
def initUI(self, change_offset=False):
|
|
|
|
|
# _print (self.view)
|
|
|
|
@ -214,13 +217,14 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
y = 0
|
|
|
|
|
|
|
|
|
|
from ConnectionTabs import SelectedMethodWgt
|
|
|
|
|
|
|
|
|
|
self.hidden_fields = {}
|
|
|
|
|
|
|
|
|
|
self.tabWidget = SelectedMethodWgt
|
|
|
|
|
# for advanced settings
|
|
|
|
|
self.expert = False
|
|
|
|
|
self.expert_list = []
|
|
|
|
|
self.changed_expert_list = []
|
|
|
|
|
self.changed_expert_list = set()
|
|
|
|
|
add_button_flag = False
|
|
|
|
|
self.calling_error = False
|
|
|
|
|
# self.error_output = self.error_output
|
|
|
|
@ -237,6 +241,9 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
self.param_object = self.get_param_object(self.method_name)
|
|
|
|
|
cached_info = self.ClientObj.param_objects[self.method_name]['info']
|
|
|
|
|
cached = cached_info == self.param_object
|
|
|
|
|
if cached:
|
|
|
|
|
self.changed_expert_list = self.ClientObj.param_objects[
|
|
|
|
|
self.method_name]['expert_changed']
|
|
|
|
|
|
|
|
|
|
if self.ClientObj.param_objects[self.method_name]['error']:
|
|
|
|
|
self.error_fields_name = map(lambda x: x.field,
|
|
|
|
@ -305,6 +312,8 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
|
|
|
|
|
if not Group.fields:
|
|
|
|
|
continue
|
|
|
|
|
if cached:
|
|
|
|
|
debug(10, "CACHE DEBUG",self.param_object)
|
|
|
|
|
for field in Group.fields.Field:
|
|
|
|
|
if lastTable:
|
|
|
|
|
self.resize_table(lastTable)
|
|
|
|
@ -316,12 +325,17 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
field.value = str(self.ClientObj.param_objects[
|
|
|
|
|
self.method_name]['offset'])
|
|
|
|
|
value = getattr(self.param_object, field.name)
|
|
|
|
|
debug(10, "GET VALUE", value.__repr__(), "for field",
|
|
|
|
|
debug(5, "GET VALUE", value.__repr__(), "for field",
|
|
|
|
|
field.name, "FROM CACHE")
|
|
|
|
|
debug(5, "FIELD VALUE", field)
|
|
|
|
|
if "list" in field.type:
|
|
|
|
|
field.listvalue = value
|
|
|
|
|
if field.name in self.changed_expert_list:
|
|
|
|
|
field.default = False
|
|
|
|
|
else:
|
|
|
|
|
field.value = value
|
|
|
|
|
if field.name in self.changed_expert_list:
|
|
|
|
|
field.default = False
|
|
|
|
|
if field.guitype == "hidden":
|
|
|
|
|
self.hidden_fields[field.name] = field.value
|
|
|
|
|
continue
|
|
|
|
@ -345,10 +359,16 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
self._parent.control_button.del_button()
|
|
|
|
|
self._parent.control_button.add_clear_cache_button()
|
|
|
|
|
|
|
|
|
|
elif "button" in field.element:
|
|
|
|
|
add_button_flag = True
|
|
|
|
|
callback = self.button_callback(field, self.isBrief())
|
|
|
|
|
self.buttons.append((field, callback))
|
|
|
|
|
self.mutable = True
|
|
|
|
|
|
|
|
|
|
elif (field.element == 'input' or
|
|
|
|
|
field.guitype == "readonly" or
|
|
|
|
|
field.element == 'readonly' or
|
|
|
|
|
field.type and "onepassword" in field.type):
|
|
|
|
|
field.type and "onepassword" in field.type):
|
|
|
|
|
if field.name in ['cl_page_count', 'cl_page_offset']:
|
|
|
|
|
pager = True
|
|
|
|
|
continue
|
|
|
|
@ -421,12 +441,6 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
x += 1
|
|
|
|
|
self.mutable = True
|
|
|
|
|
|
|
|
|
|
elif "button" in field.element:
|
|
|
|
|
add_button_flag = True
|
|
|
|
|
callback = self.button_callback(field, self.isBrief())
|
|
|
|
|
self.buttons.append((field, callback))
|
|
|
|
|
self.mutable = True
|
|
|
|
|
|
|
|
|
|
if self.mutable:
|
|
|
|
|
debug(10, "METHOD", self.method_name, "is mutable")
|
|
|
|
|
else:
|
|
|
|
@ -664,7 +678,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if readonly or field.uncompatible:
|
|
|
|
|
if field.uncompatible:
|
|
|
|
|
self.label_dict[field.name].setToolTip(field.uncompatible)
|
|
|
|
|
#self.label_dict[field.name].setDisabled(True)
|
|
|
|
|
# self.label_dict[field.name].setDisabled(True)
|
|
|
|
|
|
|
|
|
|
self.grid.addWidget(self.label_dict[field.name], x, y)
|
|
|
|
|
|
|
|
|
@ -693,7 +707,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].textChanged.connect( \
|
|
|
|
|
self.changed_expert_input(field.name))
|
|
|
|
|
if type(self.window()) == self.tabWidget:
|
|
|
|
@ -763,7 +777,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].clicked.connect( \
|
|
|
|
|
self.changed_expert_check(field.name))
|
|
|
|
|
if type(self.window()) == self.tabWidget:
|
|
|
|
@ -892,7 +906,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
if field.uncompatible:
|
|
|
|
|
self.view_dict[field.name].setToolTip(field.uncompatible)
|
|
|
|
|
self.view_dict[field.name].setDisabled(True)
|
|
|
|
@ -967,7 +981,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].currentIndexChanged.connect( \
|
|
|
|
|
self.changed_expert_combo(field.name))
|
|
|
|
|
if type(self.window()) == self.tabWidget:
|
|
|
|
@ -1055,7 +1069,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].currentIndexChanged.connect(
|
|
|
|
|
self.changed_expert_combo(field.name))
|
|
|
|
|
self.view_dict[field.name].lineEdit().textChanged.connect(
|
|
|
|
@ -1101,7 +1115,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].Changed.connect( \
|
|
|
|
|
self.expert_remove(field.name))
|
|
|
|
|
self.view_dict[field.name].clear_button.clicked.connect( \
|
|
|
|
@ -1148,7 +1162,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].Changed.connect( \
|
|
|
|
|
self.expert_remove(field.name))
|
|
|
|
|
self.view_dict[field.name].recover_but.clicked.connect( \
|
|
|
|
@ -1195,7 +1209,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].lineEdit.textChanged.connect( \
|
|
|
|
|
self.changed_expert_input(field.name))
|
|
|
|
|
if type(self.window()) == self.tabWidget:
|
|
|
|
@ -1236,7 +1250,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].ComboBox.currentIndexChanged.connect( \
|
|
|
|
|
self.expert_remove(field.name))
|
|
|
|
|
self.view_dict[field.name].lineEdit.textChanged.connect( \
|
|
|
|
@ -1272,7 +1286,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
self.view_dict[field.name].textChanged.connect( \
|
|
|
|
|
self.expert_remove(field.name))
|
|
|
|
|
if type(self.window()) == self.tabWidget:
|
|
|
|
@ -1312,19 +1326,18 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
(field.name))
|
|
|
|
|
if field.value != 'open':
|
|
|
|
|
debug(10, "Close expert")
|
|
|
|
|
self.view_dict[field.name].clicked.connect \
|
|
|
|
|
(self.collect_object())
|
|
|
|
|
self.view_dict[field.name].clicked.connect(self.collect_object())
|
|
|
|
|
self.view_dict[field.name].clicked.connect(self.calling(True))
|
|
|
|
|
self.view_dict[field.name].clicked.connect \
|
|
|
|
|
(self.expert_clicked(field))
|
|
|
|
|
self.view_dict[field.name].clicked.connect(
|
|
|
|
|
self.expert_clicked(field))
|
|
|
|
|
else:
|
|
|
|
|
debug(10, "Open expert")
|
|
|
|
|
self.expert_signal.connect(self.collect_object())
|
|
|
|
|
self.expert_signal.connect(self.calling(True))
|
|
|
|
|
self.expert_signal.connect(self.expert_clicked(field))
|
|
|
|
|
self.view_dict[field.name].clicked.connect(self.expert_question( \
|
|
|
|
|
self.view_dict[field.name].clicked.connect(self.expert_question(
|
|
|
|
|
field))
|
|
|
|
|
self.view_dict[field.name].clicked.connect( \
|
|
|
|
|
self.view_dict[field.name].clicked.connect(
|
|
|
|
|
self.set_disabled_expert(field.name, False))
|
|
|
|
|
|
|
|
|
|
expert_signal = QtCore.Signal()
|
|
|
|
@ -1346,8 +1359,15 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
return 1
|
|
|
|
|
if cur_field.value == 'open':
|
|
|
|
|
expert = False
|
|
|
|
|
debug(3, "@DROP changed expert for ", self.method_name)
|
|
|
|
|
self.ClientObj.param_objects[
|
|
|
|
|
self.method_name]['expert_changed'] = set()
|
|
|
|
|
self.changed_expert_list = set()
|
|
|
|
|
else:
|
|
|
|
|
expert = True
|
|
|
|
|
# Save expert option
|
|
|
|
|
debug(3, "@SAVE expert option", expert)
|
|
|
|
|
self.ClientObj.param_objects[self.method_name]['expert'] = expert
|
|
|
|
|
num = self.ClientObj.param_objects[self.method_name]['step']
|
|
|
|
|
|
|
|
|
|
# Call server method
|
|
|
|
@ -1361,14 +1381,12 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if brief:
|
|
|
|
|
num = None
|
|
|
|
|
expert = True
|
|
|
|
|
view_params = get_view_params(self.ClientObj.client, \
|
|
|
|
|
self.method_name + '_view', step=num, \
|
|
|
|
|
view_params = get_view_params(self.ClientObj.client,
|
|
|
|
|
self.method_name + '_view', step=num,
|
|
|
|
|
expert=expert, brief=brief)
|
|
|
|
|
self.button_call_thread = ClientServiceThread(self.ClientObj, \
|
|
|
|
|
self.method_name + '_view', \
|
|
|
|
|
int(
|
|
|
|
|
self.ClientObj.sid),
|
|
|
|
|
view_params)
|
|
|
|
|
self.button_call_thread = ClientServiceThread(
|
|
|
|
|
self.ClientObj, self.method_name + '_view',
|
|
|
|
|
int(self.ClientObj.sid), view_params)
|
|
|
|
|
self.button_call_thread.signal.connect(self.expert_clicked_after)
|
|
|
|
|
self.button_call_thread.start()
|
|
|
|
|
|
|
|
|
@ -1382,9 +1400,9 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
view_method = self._parent.ClientObj.method_names[method_name]
|
|
|
|
|
else:
|
|
|
|
|
view_method = method_name
|
|
|
|
|
self.ClientObj._parent.setWindowTitle(view_method + ' - ' \
|
|
|
|
|
self.ClientObj._parent.setWindowTitle(view_method + ' - '
|
|
|
|
|
+ self.ClientObj.Name)
|
|
|
|
|
self.ClientObj.MainWidget.main_frame_view(view, method_name, \
|
|
|
|
|
self.ClientObj.MainWidget.main_frame_view(view, method_name,
|
|
|
|
|
step_change=True,
|
|
|
|
|
error_output=False)
|
|
|
|
|
|
|
|
|
@ -1445,9 +1463,9 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
def change_method(method_name):
|
|
|
|
|
def after_call(view):
|
|
|
|
|
debug(10, "CHANGE METHOD", self._parent.ClientObj.method_names)
|
|
|
|
|
#view_method = self._parent.ClientObj.method_names[
|
|
|
|
|
# view_method = self._parent.ClientObj.method_names[
|
|
|
|
|
# method_name]
|
|
|
|
|
#self._parent.ClientObj._parent.setWindowTitle(
|
|
|
|
|
# self._parent.ClientObj._parent.setWindowTitle(
|
|
|
|
|
# view_method + ' - ' + self.ClientObj.Name)
|
|
|
|
|
self.ClientObj.MainWidget.main_frame_view(view,
|
|
|
|
|
method_name)
|
|
|
|
@ -1463,14 +1481,15 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
self.ClientObj, method_name + '_view', sid, view_params)
|
|
|
|
|
self.get_Frame_thread.signal.connect(after_call)
|
|
|
|
|
self.get_Frame_thread.start()
|
|
|
|
|
|
|
|
|
|
return wrapper
|
|
|
|
|
|
|
|
|
|
if field.element == 'button_view':
|
|
|
|
|
return change_method(field.value)
|
|
|
|
|
else:
|
|
|
|
|
return button_clicked(
|
|
|
|
|
field.value, self.button_variable_mapper[field.name], brief)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def button_clicked_after(self, result, method_name):
|
|
|
|
|
meth_result = []
|
|
|
|
|
error = False
|
|
|
|
@ -1618,7 +1637,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field.default:
|
|
|
|
|
self.expert_list.append(field.name)
|
|
|
|
|
else:
|
|
|
|
|
self.changed_expert_list.append(field.name)
|
|
|
|
|
self.changed_expert_list.add(field.name)
|
|
|
|
|
|
|
|
|
|
if brief:
|
|
|
|
|
gb_layout.addWidget(self.label_dict[field.name], x, y, 1, 2)
|
|
|
|
@ -2245,8 +2264,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field_name in self.expert_list:
|
|
|
|
|
self.expert_list.remove(field_name)
|
|
|
|
|
|
|
|
|
|
if not field_name in self.changed_expert_list:
|
|
|
|
|
self.changed_expert_list.append(field_name)
|
|
|
|
|
self.changed_expert_list.add(field_name)
|
|
|
|
|
|
|
|
|
|
return wrapper
|
|
|
|
|
|
|
|
|
@ -2254,8 +2272,7 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
if field_name in self.expert_list:
|
|
|
|
|
self.expert_list.remove(field_name)
|
|
|
|
|
|
|
|
|
|
if field_name not in self.changed_expert_list:
|
|
|
|
|
self.changed_expert_list.append(field_name)
|
|
|
|
|
self.changed_expert_list.add(field_name)
|
|
|
|
|
|
|
|
|
|
def expert_add(self, field_name):
|
|
|
|
|
def wrapper():
|
|
|
|
@ -2295,6 +2312,11 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
method_name = self.method_name
|
|
|
|
|
|
|
|
|
|
def wrapper():
|
|
|
|
|
debug(3, "@@@@EXPERT LIST CHANGED", self.changed_expert_list)
|
|
|
|
|
debug(3, "@@@@EXPERT LIST ", self.expert_list)
|
|
|
|
|
self.ClientObj.param_objects[method_name]['expert_changed'] = \
|
|
|
|
|
self.changed_expert_list
|
|
|
|
|
|
|
|
|
|
debug(10, "COLLECT OBJECT for method", method_name, "by view form",
|
|
|
|
|
self.method_name)
|
|
|
|
|
# store params name if list for each step
|
|
|
|
@ -2613,7 +2635,8 @@ class MainFrame(QtGui.QWidget):
|
|
|
|
|
temp.pop()
|
|
|
|
|
self.ClientObj._parent.setWindowTitle(
|
|
|
|
|
u"{title} - {action}".format(
|
|
|
|
|
title="-".join(temp), action=_("Running").decode('utf-8')))
|
|
|
|
|
title="-".join(temp),
|
|
|
|
|
action=_("Running").decode('utf-8')))
|
|
|
|
|
|
|
|
|
|
self.calling_error = False
|
|
|
|
|
# Call method display process results
|
|
|
|
|