Исправлена работа с кнопками действия. Удалена отладка

master-3.5
parent 92e5297880
commit 8095578d48

@ -35,7 +35,7 @@ from CertificateClass import CertClass
from pid_information import client_list_pid
from more import icon_visible, client_del_sid, show_msg
DEBUG_LEVEL = 20
DEBUG_LEVEL = 0
def debug(level, *args):

@ -17,7 +17,7 @@
from PySide import QtGui, QtCore
from more import LabelWordWrap, _print
DEBUG_LEVEL = 20
DEBUG_LEVEL = 0
def debug(level, *args):

@ -16,7 +16,7 @@
from PySide import QtGui, QtCore
DEBUG_LEVEL = 20
DEBUG_LEVEL = 0
def debug(level, *args):
if level <= DEBUG_LEVEL:
@ -132,7 +132,7 @@ class MainFrameRes(QtGui.QWidget):
self.updateGeometry()
def show_bottom(self):
debug(10, "SHOW BOTTOM PAGE")
debug(20, "SHOW BOTTOM PAGE")
max_val = self._parent.main_frame.verticalScrollBar().maximum()
current_val = \
self._parent.main_frame.verticalScrollBar().sliderPosition()

@ -32,7 +32,7 @@ from ReturnMessage import ReturnedMessage
import urllib2, time
from os import path
DEBUG_LEVEL = 3
DEBUG_LEVEL = 0
def debug(level, *args):
@ -101,6 +101,7 @@ class MainFrame(QtGui.QWidget):
# текущим и тем, который вызывается при нажатии на кнопку
# используется например при вызове groupdel из groupmod
self.button_variable_mapper = {}
self.error_mapper = {}
self.button_action = None
self.caller_method_name = None
# структура отправляемая при вызове метода
@ -525,6 +526,7 @@ class MainFrame(QtGui.QWidget):
# If errors came in parameters
if self.ClientObj.param_objects[self.method_name]['error']:
debug(10, "METHOD has errors", self.method_name)
debug(15, "ERRORS", self.ClientObj.param_objects[self.method_name]['error'])
self.highlight_errors()
else:
debug(10, "METHOD has not errors", self.method_name)
@ -1426,19 +1428,26 @@ class MainFrame(QtGui.QWidget):
# добавляем соответстивем переменных разным методам
self.button_variable_mapper[field.name] = {}
self.error_mapper[field.name] = {}
if field.listvalue:
for k, v in (x.split('=') for x in field.listvalue.string):
for k, v in (x.split('=') for x in field.listvalue.string
if "->" not in x):
self.button_variable_mapper[field.name][k] = v
debug(10, "ADD mapping %s -> %s" % (k, v), "for method",
self.error_mapper[field.name][v] = k
debug(10, "ADD mapping %s -> %s" % (v, k), "for method",
field.name)
for k, v in (x.split('->') for x in field.listvalue.string
if "->" in x):
self.error_mapper[field.name][k] = v
debug(10, "ADD error mapping %s -> %s" % (v, k), "for method",
field.name)
def button_clicked(method_name, var_mapper, brief):
def button_clicked(method_name, var_mapper, error_mapper, brief):
def error_display_main(from_left_frame=False):
rev_mapper = {y: x for x, y in var_mapper.items()}
errors = self.ClientObj.param_objects[method_name]['error']
debug(10, "REV MAPPER for ", method_name, rev_mapper)
debug(10, "REV MAPPER for ", method_name, error_mapper)
for error in errors:
error.field = rev_mapper.get(error.field, error.field)
error.field = error_mapper.get(error.field, error.field)
self.error_display(
errors=errors,
@ -1452,6 +1461,12 @@ class MainFrame(QtGui.QWidget):
param_object = self.get_param_object(method_name)
if not brief:
self.collect_object(var_mapper, param_object, method_name)()
for k, v in ((k,v) for k,v in var_mapper.items() if k.endswith("!")):
debug(10, "FORCE SET for", k[:-1], v.__repr__())
mapper = {"on": True, "off": False, "None": None}
param_object[k[:-1]] = mapper.get(v, v)
self.calling(CheckOnly=False, change_offset=False,
from_left_frame=False,
method_name=method_name,
@ -1488,7 +1503,8 @@ class MainFrame(QtGui.QWidget):
return change_method(field.value)
else:
return button_clicked(
field.value, self.button_variable_mapper[field.name], brief)
field.value, self.button_variable_mapper[field.name],
self.error_mapper[field.name], brief)
def button_clicked_after(self, result, method_name):
meth_result = []
@ -2806,6 +2822,7 @@ class MainFrame(QtGui.QWidget):
for error in self.ClientObj.param_objects[self.method_name]['error']:
try:
debug(15, "ERROR", error.field, error.message)
error.field
except:
show_msg(self.ClientObj.param_objects \

Loading…
Cancel
Save