Merge remote branch 'origin/develop'

master3.3
commit 2cd95fd243

@ -271,19 +271,20 @@ class MainFrameRes(QtGui.QWidget):
self.set_result_task(True)
if self.progress_list:
self.progress_list[len(self.progress_list)-1].hide()
lbl_temp = ErrorWgt(message, self)
lbl_temp.set_error()
lbl_temp.setMinimumHeight(lbl_temp.sizeHint().height())
self.work_layout._addWidget(lbl_temp)
if message:
lbl_temp = ErrorWgt(message, self)
lbl_temp.set_error()
lbl_temp.setMinimumHeight(lbl_temp.sizeHint().height())
self.work_layout._addWidget(lbl_temp)
self.initUI()
def show_warning(self, item):
# add warning message label
lbl_temp = ErrorWgt(item.message, self)
lbl_temp.set_warning()
self.work_layout._addWidget(lbl_temp)
if item.message:
lbl_temp = ErrorWgt(item.message, self)
lbl_temp.set_warning()
self.work_layout._addWidget(lbl_temp)
self.initUI()
def show_group(self, item):

@ -53,7 +53,8 @@ class SelectedTableWidget(QtGui.QTableWidget):
self.setFrameStyle(QtGui.QFrame.NoFrame)
self.verticalHeader().hide()
item_background = '#E4E1E0' if brief else 'rgba(255,255,255,255)'
item_background = 'transparent' if brief else 'rgba(255,255,255,255)'
background_color = 'transparent' if brief else '#E4E1E0'
self.horizontalHeader().setStyleSheet \
("QHeaderView {background-color: transparent;"
@ -63,10 +64,10 @@ class SelectedTableWidget(QtGui.QTableWidget):
'border: 1px solid #B3ABA7; border-radius: 1px;}')
self.setStyleSheet("QTableWidget {"
"border: none;"
"background-color: #E4E1E0;}"
"background-color: %s;}" %background_color +\
"QTableWidget::item {padding: 0px;"
"border-left: 1px solid #B3ABA7;"
"background-color: %s;}" %item_background)
"background-color: %s;}" %background_color)
def setColor(self, row = -1):
if self.brief:

@ -58,11 +58,14 @@ class ViewProc(QtGui.QWidget):
else:
method_name = self.ClientObj.process_dict[str(list_pid[num])] \
['name']
try:
view_method_name = self.ClientObj.param_objects \
[method_name]['view_method_name']
except:
if self.ClientObj.method_names.has_key(method_name):
view_method_name = self.ClientObj.method_names[method_name]
# try:
# view_method_name = self.ClientObj.param_objects \
# [method_name]['view_method_name']
# except:
else:
view_method_name = method_name
try:

@ -202,19 +202,6 @@ class Client_suds(Client):
if not os.path.exists(self.CRL_PATH):
os.makedirs(self.CRL_PATH)
#class clientHTTPSConnection (httplib.HTTPSConnection):
#
# def __init__(self, host, port=None, key_file=None, cert_file=None,
# strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
# source_address=None, cert_path=None, ClientObj = None):
# httplib.HTTPConnection.__init__(self, host, port, strict, timeout,
# source_address)
# self.ClientObj = ClientObj
# self.key_file = key_file
# self.cert_file = cert_file
# self.cert_path = cert_path
# self.CRL_PATH = cert_path + 'ca/crl/'
class CheckingClientHTTPSConnection(CheckingHTTPSConnection):
"""based on httplib.HTTPSConnection code - extended to support
server certificate verification and client certificate authorization"""
@ -500,8 +487,6 @@ class CheckingClientHTTPSConnection(CheckingHTTPSConnection):
flag = 1
elif f == 1:
sys.exit()
#if not hasattr(HTTPSClientCertTransport, 'filename') or \
#HTTPSClientCertTransport.filename == None:
HTTPSClientCertTransport.filename = self.cert_list \
(self.host, ca_cert_list, server_cert)
if HTTPSClientCertTransport.filename:
@ -520,7 +505,6 @@ class CheckingClientHTTPSConnection(CheckingHTTPSConnection):
add['certfile'] = self.cert_file
else:
wrap_class = ssl.SSLSocket
# print 'HHHHHHHHHHHHHHHHHHHHHH'
self.sock = wrap_class(sock, ca_certs=self.ca_certs, **add)
return 0
@ -531,74 +515,6 @@ class CheckingClientHTTPSConnection(CheckingHTTPSConnection):
else:
return self.add_server_cert(server_cert)
# def connect(self):
# """Connect to a host on a given (SSL) port."""
# if self.host == '127.0.0.1':
# self.host = 'localhost'
# sock = socket.create_connection((self.host, self.port),
# self.timeout, self.source_address)
# if self._tunnel_host:
# self.sock = sock
# self._tunnel()
# sock.settimeout(self.ClientObj.timeout)
#
# user_root_cert = self.ClientObj.VarsApi.Get('cl_user_root_cert')
# homePath = self.ClientObj.VarsApi.Get('ur_home_path')
# user_root_cert = user_root_cert.replace("~",homePath)
# result_user_root = 1
#
# if os.path.exists(user_root_cert):
# result_user_root = self.connect_trusted_root(sock, user_root_cert,\
# self.CRL_PATH)
# if result_user_root == 1:
# glob_root_cert = self.ClientObj.VarsApi.Get('cl_glob_root_cert')
# result_root_con = 1
# if os.path.exists(glob_root_cert):
# sock = socket.create_connection((self.host, self.port),
# self.timeout, self.source_address)
# if self._tunnel_host:
# self.sock = sock
# self._tunnel()
# result_root_con = self.connect_trusted_root(sock, \
# glob_root_cert, self.CRL_PATH)
# if result_root_con == 1:
# sock = socket.create_connection((self.host, self.port),
# self.timeout, self.source_address)
# if self._tunnel_host:
# self.sock = sock
# self._tunnel()
# result_server_con = self.connect_trusted_server \
# (sock, self.CRL_PATH)
# if result_server_con in [1,2]:
# raise Exception
# elif result_root_con == 2:
# raise Exception
# elif result_user_root == 2:
# raise Exception
#class HTTPSClientAuthHandler(u2.HTTPSHandler):
# def __init__(self, key, cert, cert_path, ClientObj = None):
# u2.HTTPSHandler.__init__(self)
# self.ClientObj = ClientObj
# self.key = key
# self.cert = cert
# self.cert_path = cert_path
#
# def https_open(self, req):
# #Rather than pass in a reference to a connection class, we pass in
# # a reference to a function which, for all intents and purposes,
# # will behave as a constructor
## try:
# return self.do_open(self.getConnection, req)
## except u2.URLError, e:
## _print (e)
## return 1
#
# def getConnection(self, host, timeout=300):
# return clientHTTPSConnection(host, key_file=self.key,
# cert_file=self.cert, cert_path = self.cert_path,
# ClientObj = self.ClientObj)
class CheckingClientHTTPSHandler(CheckingHTTPSHandler):
def __init__(self, ClientObj, cert_path, ca_certs=None, cert_verifier=None,
client_certfile=None, client_keyfile=None,

@ -157,8 +157,8 @@ class FrameConnection(QtGui.QWidget):
- self.sizeHint().width() / 2, \
window.geometry().y() + window.geometry().height() / 2 \
- self.sizeHint().height() / 2)
self.setWindowIcon (QtGui.QIcon.fromTheme("network-connect"))
self.setWindowTitle(_('Connection'))
self.setWindowIcon(QtGui.QIcon.fromTheme("network-connect"))
def set_disabled(self):

@ -827,8 +827,6 @@ class MainFrame(QtGui.QWidget):
self.view_dict[field.name].setToolTip(field.uncompatible)
self.view_dict[field.name].setDisabled(True)
# import ipdb
# ipdb.set_trace()
w = self.view_dict[field.name].ComboBox.sizeHint().width()
if w > 100:
self.view_dict[field.name].setFixedWidth(w)
@ -972,6 +970,13 @@ class MainFrame(QtGui.QWidget):
self.label_dict[field.name].setDisabled(True)
self.view_dict[field.name].setToolTip(field.uncompatible)
self.view_dict[field.name].setDisabled(True)
# w = self.view_dict[field.name].lineEdit.sizeHint().width()
# if w > 100:
# self.view_dict[field.name].setFixedWidth(w)
# else:
# self.view_dict[field.name].setFixedWidth(148)
self.grid.addWidget(self.view_dict[field.name], x, y+1)
self.error_label_dict[field.name] = ErrorLabel(self)
@ -1016,6 +1021,14 @@ class MainFrame(QtGui.QWidget):
self.view_dict[field.name].setToolTip(field.uncompatible)
self.view_dict[field.name].setDisabled(True)
w = self.view_dict[field.name].lineEdit.sizeHint().width() + \
self.view_dict[field.name].button.sizeHint().width()
# if w > 100:
# self.view_dict[field.name].setFixedWidth(w)
# else:
# self.view_dict[field.name].setFixedWidth(148)
self.grid.addWidget(self.view_dict[field.name], x, y+1)
self.error_label_dict[field.name] = ErrorLabel(self)
@ -1281,7 +1294,7 @@ class MainFrame(QtGui.QWidget):
self.ClientObj.MainWidget.left_frame.hide()
############# Begin add Table
def add_element_table (self, field, x, y, brief = False):
def add_element_table (self, field, x, y, brief = False, gb_layout=None):
self.table_dict[field.name] = field
table = field.tablevalue
@ -1324,6 +1337,7 @@ class MainFrame(QtGui.QWidget):
self.label_dict[field.name] = LabelWordWrap(field.label, self)
self.table_dict[field.name] = field
self.table_widget.itemClicked.connect(self.expert_remove(field.name))
self.table_widget.itemClicked.connect(self.row_changed( \
self.view_dict[field.name], self.table_dict[field.name]))
if type(self.window()) == self.tabWidget:
@ -1338,12 +1352,14 @@ class MainFrame(QtGui.QWidget):
self.changed_expert_list.append(field.name)
if brief:
self.brief_grid.addWidget(self.label_dict[field.name], x, y, 1, 2)
gb_layout.addWidget(self.label_dict[field.name], x, y, 1, 2)
else:
self.grid.addWidget(self.label_dict[field.name], x, y, 1, 2)
x += 1
widget_for_grid = QtGui.QWidget(self)
if brief:
widget_for_grid.setStyleSheet("background: transparent;")
wfg_layout = QtGui.QVBoxLayout(widget_for_grid)
wfg_layout.setSpacing(0)
wfg_layout.setContentsMargins(0, 0, 0, 0)
@ -1451,7 +1467,7 @@ class MainFrame(QtGui.QWidget):
wfg_layout.addWidget(self.view_dict[field.name])
if brief:
self.brief_grid.addWidget(widget_for_grid, x, y, 1, 2)
gb_layout.addWidget(widget_for_grid, x, y, 1, 2)
else:
self.grid.addWidget(widget_for_grid, x, y, 1, 2)
@ -1724,18 +1740,7 @@ class MainFrame(QtGui.QWidget):
self.brief_grid.setColumnStretch(1,5)
for Group in GroupField:
group_name_flag = False
if Group.name:
if not Group.fields:
continue
self.group_name_label = LabelWordWrap(Group.name, self)
self.group_name_label.setStyleSheet("font-size: 16px;"
"color: #000; font: bold;")
self.brief_grid.addWidget(self.group_name_label, x, y, 1, 2)
x += 1
group_name_flag = True
x = self.print_brief_group(Group.fields.Field, x, group_name_flag)
x = self.print_brief_group(Group, x)
# add spacer
# spacer_brief = QtGui.QSpacerItem( 0, 0, \
@ -1799,9 +1804,28 @@ class MainFrame(QtGui.QWidget):
expert_brief.set_open()
return wrapper
def print_brief_group(self, Fields, x, group_name_flag):
def print_brief_group(self, Group, grid_x):
if Group.name:
if not Group.fields:
return grid_x
# self.group_name_label = LabelWordWrap(Group.name, self)
GroupBox = QGroupBox(Group.name, self)
GroupBox.setStyleSheet("QGroupBox{"
# "font-size: 18px;"
"font-weight: bold;}")
else:
return grid_x
gb_layout = QtGui.QGridLayout(GroupBox)
gb_layout.setContentsMargins(10,10,10,10)
gb_layout.setSpacing(0)
gb_layout.setColumnStretch(0,2)
gb_layout.setColumnStretch(1,5)
x = 0
y = 0
uncompatible_count = 0
Fields = Group.fields.Field
for field in Fields:
if field.uncompatible:
uncompatible_count += 1
@ -1810,8 +1834,8 @@ class MainFrame(QtGui.QWidget):
value = field.value if field.value else ''
label_name = LabelWordWrap(field.label, self)
label_value = LabelWordWrap(value, self)
self.brief_grid.addWidget(label_name, x, y)
self.brief_grid.addWidget(label_value, x, y + 1)
gb_layout.addWidget(label_name, x, y)
gb_layout.addWidget(label_value, x, y + 1)
x += 1
elif field.element in ['combo', 'comboEdit', 'radio', 'file']:
@ -1828,8 +1852,8 @@ class MainFrame(QtGui.QWidget):
value = field.value if field.value else ''
label_name = LabelWordWrap(field.label, self)
label_value = LabelWordWrap(value, self)
self.brief_grid.addWidget(label_name, x, y)
self.brief_grid.addWidget(label_value, x, y + 1)
gb_layout.addWidget(label_name, x, y)
gb_layout.addWidget(label_value, x, y + 1)
x += 1
elif field.element in ['multichoice', 'multichoice_add',\
@ -1848,25 +1872,25 @@ class MainFrame(QtGui.QWidget):
value = field.value if field.value else ''
label_name = LabelWordWrap(field.label, self)
label_value = LabelWordWrap(value, self)
self.brief_grid.addWidget(label_name, x, y)
self.brief_grid.addWidget(label_value, x, y + 1)
gb_layout.addWidget(label_name, x, y)
gb_layout.addWidget(label_value, x, y + 1)
x += 1
elif field.element == 'label':
label = LabelWordWrap(field.label, self)
self.brief_grid.addWidget(label, x, y, 1, 2)
gb_layout.addWidget(label, x, y, 1, 2)
x += 1
elif field.element == 'error':
error_lbl = ErrorLabel(self, field.label)
error_lbl.setStyleSheet("QLabel {color: red;}")
error_lbl.show()
self.brief_grid.addWidget(error_lbl, x, y, 1,2)
gb_layout.addWidget(error_lbl, x, y, 1,2)
x += 1
elif field.element in ['check', 'check_tristate']:
label_name = LabelWordWrap(field.label, self)
self.brief_grid.addWidget(label_name, x, y)
gb_layout.addWidget(label_name, x, y)
if field.value == 'on':
value = _('Yes')
@ -1876,7 +1900,7 @@ class MainFrame(QtGui.QWidget):
value = _('Auto')
label_value = LabelWordWrap(value, self)
self.brief_grid.addWidget(label_value, x, y + 1)
gb_layout.addWidget(label_value, x, y + 1)
# self.add_element_check (field, x, y, brief = True)
# self.view_dict[field.name].disabled = True
@ -1886,7 +1910,8 @@ class MainFrame(QtGui.QWidget):
elif field.element == 'table' and field.type != 'steps':
field.type = None
field.default = False
self.add_element_table (field, x, y, brief = True)
self.add_element_table (field, x, y, brief = True,
gb_layout = gb_layout)
x += 3
if field.type == 'writable':
x += 1
@ -1897,9 +1922,15 @@ class MainFrame(QtGui.QWidget):
else:
uncompatible_count += 1
if uncompatible_count == len (Fields) and group_name_flag:
self.group_name_label.hide()
return x
minimum = QtGui.QSizePolicy.Minimum
maximum = QtGui.QSizePolicy.Maximum
GroupBox.setSizePolicy(minimum, maximum)
if uncompatible_count != len(Fields):
self.brief_grid.addWidget(GroupBox, grid_x, 0, 1, 2)
grid_x += 1
# self.group_name_label.hide()
return grid_x
def expert_remove(self, field_name):
def wrapper():

@ -415,6 +415,8 @@ class ErrorWgt(QtGui.QWidget):
class LabelWordWrap(QtGui.QLabel):
def __init__(self, name, parent = None):
if not name:
name = ''
try:
name = name.decode('utf-8')
except (UnicodeDecodeError, UnicodeEncodeError):

@ -403,16 +403,16 @@ class ToolOther(QtGui.QWidget):
self.grid.addWidget(self.cert_path_lbl, 1, 0)
self.grid.addWidget(self.fd_cert, 1, 1)
# add timeout in grid
self.timeout_lbl = LabelWordWrap(_('Timeout'), self)
self.timeout_lbl.setMaximumWidth(self.timeout_lbl.sizeHint().width())
self.timeout_lineedit = QtGui.QLineEdit(self)
self.timeout_lineedit.setText(str(ClientObj.timeout))
self.grid.addWidget(self.timeout_lbl, 2, 0)
self.grid.addWidget(self.timeout_lineedit, 2, 1)
# # add timeout in grid
# self.timeout_lbl = LabelWordWrap(_('Timeout'), self)
# self.timeout_lbl.setMaximumWidth(self.timeout_lbl.sizeHint().width())
#
# self.timeout_lineedit = QtGui.QLineEdit(self)
#
# self.timeout_lineedit.setText(str(ClientObj.timeout))
#
# self.grid.addWidget(self.timeout_lbl, 2, 0)
# self.grid.addWidget(self.timeout_lineedit, 2, 1)
# add spacer
self.grid.addItem(QtGui.QSpacerItem(0,0, QtGui.QSizePolicy.Expanding, \
@ -421,7 +421,7 @@ class ToolOther(QtGui.QWidget):
# connect all with change value slot
self.lang_ComboBox.currentIndexChanged.connect(self.changed_val)
self.fd_cert.textChanged.connect(self.changed_val)
self.timeout_lineedit.textChanged.connect(self.changed_val)
# self.timeout_lineedit.textChanged.connect(self.changed_val)
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
@ -461,7 +461,7 @@ class ToolOther(QtGui.QWidget):
lang_flag = False
cert_flag = False
timeout_flag = False
# timeout_flag = False
for line in config:
if line.startswith('lang '):
lang_flag = True
@ -477,13 +477,13 @@ class ToolOther(QtGui.QWidget):
new_config.append('path_to_cert = no\n')
else:
new_config.append(line)
elif line.startswith('timeout '):
timeout_flag = True
try:
timeout = int(self.timeout_lineedit.text())
except ValueError:
timeout = ClientObj.timeout
new_config.append('timeout = %d\n' %timeout)
# elif line.startswith('timeout '):
# timeout_flag = True
# try:
# timeout = int(self.timeout_lineedit.text())
# except ValueError:
# timeout = ClientObj.timeout
# new_config.append('timeout = %d\n' %timeout)
else:
new_config.append(line)
@ -498,12 +498,12 @@ class ToolOther(QtGui.QWidget):
new_config = self.check_cfg (cert_flag, new_config, \
'[other]', 'path_to_cert', self.fd_cert.text())
try:
timeout = int(self.timeout_lineedit.text())
except ValueError:
timeout = ClientObj.timeout
new_config = self.check_cfg (timeout_flag, new_config, \
'[other]', 'timeout', timeout)
# try:
# timeout = int(self.timeout_lineedit.text())
# except ValueError:
# timeout = ClientObj.timeout
# new_config = self.check_cfg (timeout_flag, new_config, \
# '[other]', 'timeout', timeout)
fnc = open(self.user_config, 'w')
for line in new_config:

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: console_gui_translate\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-15 16:04+0300\n"
"PO-Revision-Date: 2012-06-15 16:04+0300\n"
"POT-Creation-Date: 2012-06-15 17:46+0300\n"
"PO-Revision-Date: 2012-06-15 17:46+0300\n"
"Last-Translator: Denis <ds@mail.ru>\n"
"Language-Team: \n"
"Language: \n"
@ -552,7 +552,7 @@ msgid "Break process"
msgstr "Прервать процесс"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/more.py:2318
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:359
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:360
msgid "You do not have a certificate. Please, generate new request and get new certificate from server."
msgstr "У Вас нет сертификата. Пожалуйста, сгенерируйте запрос на сертитфикат и получите сертификат с сервера."
@ -715,6 +715,10 @@ msgstr "Корневой сертификат добавлен"
msgid "file with ca certificates exists"
msgstr "Файл с сертификатом удостоверяющего центра создан"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:160
msgid "Connection"
msgstr "Соединение"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:172
msgid "You are connected to server!"
msgstr "Вы подсоединены к серверу!"
@ -728,7 +732,7 @@ msgid "previous connection!"
msgstr "предыдущее соединение!"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:174
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:355
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:356
msgid "Connection Error"
msgstr "Ошибка соединения"
@ -744,11 +748,11 @@ msgstr "Данный сервер не является доверенным"
msgid "Verify Error"
msgstr "Ошибка проверки сертификата сервера"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:354
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:355
msgid "Password is invalid"
msgstr "Пароль неверен"
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:366
#: /var/calculate/mydir/source/spyder/cl-api-client/consolegui/application/conf_connection.py:367
msgid "You do not have a certificate or your certificate does not match the server certificate. Please, generate new request andget new certificate from server."
msgstr "У вас нет сертификата или ваш сертификат не соответствует серверному сертификату. Пожалуйста, сгенерируйте запрос на сертитфикат и получите сертификат с сервера."

Loading…
Cancel
Save