def check_step(self, method_name, set_step=None): # def wrapper(): # Call server method if hasattr(self, "check_step_thread"): if self.check_step_thread.isRunning(): _print("check_step_thread is running") self.setEnabled(True) return 1 self.step = set_step if set_step else 0 self._parent.ClientObj.method_name = method_name self._parent.ClientObj.sid = get_sid(self._parent.ClientObj.client) expert = None if self._parent.ClientObj.MainWidget.MainFrameWgt.isBrief(self.step): num = None brief = True expert = True else: brief = False num = self.step view_params = get_view_params( self._parent.ClientObj.client, str(method_name + "_view"), step=num, expert=expert, brief=brief ) self.check_step_thread = ClientServiceThread( self._parent.ClientObj, str(method_name + "_view"), int(self._parent.ClientObj.sid), view_params ) self.check_step_thread.signal.connect(self.check_step_after) self.check_step_thread.start()
def onActivated(self): method_name = self.sender().objectName() # set new Title new_title = self.sender().text() try: new_title = new_title.decode("utf-8") except (UnicodeDecodeError, UnicodeEncodeError): pass self._parent.ClientObj._parent.setWindowTitle(new_title + " - " + self.old_title) step = 0 self._parent.ClientObj.method_name = method_name self._parent.ClientObj.sid = get_sid(self._parent.ClientObj.client) # switch to the desired step if self._parent.ClientObj.param_objects.has_key(method_name): self._parent.ClientObj.param_objects[method_name]["step"] = step # Call server method if hasattr(self, "onActivated_thread"): if self.onActivated_thread.isRunning(): return 1 view_params = get_view_params(self._parent.ClientObj.client, str(method_name + "_view"), step=step) self.onActivated_thread = ClientServiceThread( self._parent.ClientObj, str(method_name + "_view"), int(self._parent.ClientObj.sid), view_params, return_except=True, ) self.onActivated_thread.signal.connect(self.onActivated_after) self.onActivated_thread.start()
def wrapper(): sid = get_sid(self.client) # Call server method if hasattr (self, 'kill_process_thread'): if self.kill_process_thread.isRunning(): return 1 self.kill_process_thread = ClientServiceThread(self.ClientObj,\ 'pid_kill', pid, sid) self.kill_process_thread.signal.connect(self.kill_process_after) self.kill_process_thread.start()
def client_list_pid(client): """ get all process id for this session """ sid = get_sid(client) try: list_pid = client.service.list_pid(sid = sid) if list_pid[0][0] == 0: return [] else: return list_pid[0] except: _print (_("Failed to get the PID list from the server")) return []
def client_pid_info(ClientObj, client, pid): """ get information about selected process (or about all) """ pid = int (pid) # try: pid_get = [] pid_get.append(pid) sid = get_sid(client) if pid > 0: pid_inf(ClientObj, client, sid, pid_get) elif pid == 0: pid_ls = gen_pid_ls(client) if pid_ls: pid_inf(ClientObj, client, sid, pid_ls) # except: # show_msg("Error get process information") # return 1 return 0
def connect(self): self.MethodWidget.connect_to_localhost(self.args.host, self.args.port) if not self.ClientObj.client: return 1 self.ClientObj.sid = get_sid(self.ClientObj.client) try: view_params = get_view_params(self.ClientObj.client, self.args.method + "_view", step=0) view = self.ClientObj.client.service[0][self.args.method + "_view"](int(self.ClientObj.sid), view_params) except sudsds.MethodNotFound: _print("Method not found: ", self.args.method + "_view") self.close() sys.exit(1) if self.ClientObj.method_names.has_key(self.args.method): view_method = self.ClientObj.method_names[self.args.method] else: view_method = self.args.method self.setWindowTitle(view_method + " - " + self.ClientObj._parent.windowTitle()) self.MethodWidget.main_frame_view(view, self.args.method) return 0
def onActivated(self): # Call server method if hasattr (self, 'onActivated_thread'): if self.onActivated_thread.isRunning(): return 1 self.setDisabled(True) method_name = self.sender().objectName() # view_method_name = self.sender().text() step = 0 brief = False self.ClientObj.method_name = method_name self.ClientObj.sid = get_sid(self.ClientObj.client) if self.ClientObj.param_objects.has_key(method_name): self.ClientObj.param_objects[method_name]['step'] = 0 view_params = get_view_params(self.ClientObj.client, \ str(method_name + '_view'), step = step, brief = brief) self.onActivated_thread = ClientServiceThread(self.ClientObj, \ str(method_name + '_view'), int(self.ClientObj.sid), \ view_params, return_except = True) self.onActivated_thread.signal.connect(self.onActivated_after) self.onActivated_thread.start()
def client_post_cert (client, lang): """ send a certificate server for check """ sid = get_sid(client) results = client.service.post_cert() if results[0][0] == -4: show_msg (_("Certificate not found in the server!"), _('Error')) raise Exception() sid, new_session = client_sid(sid, client, results[0][0], lang) if new_session: _print (_(" New session")) else: _print (_(" Old session")) _print (_(" Your session ID: %s") %sid) if results[0][0] == -3: _print (_("Certificate not sent!")) else: _print (_(" Your certifitate ID: %d") %(results[0][0])) try: if results[0][1] == -2: _print (_("Certificate expired")) elif results[0][1] > 0: _print (_("The certificate expires after %d days")%(results[0][1])) except: pass
def run(self): self.close_flag = False if not hasattr(self._parent, 'localhost_ClientObj'): self.mes_sig.emit(_('Connection Error'), \ _('You are not connected to the localhost server')) return 1 if not self._parent.localhost_ClientObj.client: self.mes_sig.emit(_('Connection Error'), \ _('You are not connected to the localhost server')) return 1 sid = get_sid(self._parent.localhost_ClientObj.client) try: meth_result_temp = self._parent.localhost_ClientObj.client.service.\ system_update_tray(sid) except Exception, e: msg = e.message if type (e.message) == tuple: msg = ' '.join( map(lambda x:str(x), list(e.message))) self.mes_sig.emit(msg, 'cl-client-console Exception') return 1
def __init__(self, parent, client, window): QtGui.QWidget.__init__(self) self.layout = QtGui.QGridLayout() sid = get_sid(client) try: results = client.service.post_cert() except urllib2.URLError: self.layout.addWidget(LabelWordWrap (_('Not connected!'))) self.setLayout(self.layout) return 1 ip, mac = get_ip_mac() if results[0][0] == -4: self.layout.addWidget(LabelWordWrap(_('Certificate not found in' ' the server!'), self), 0,0,1,2) self.setLayout(self.layout) return 1 sid = get_sid(client) self.layout.addWidget(LabelWordWrap(_('Your session ID: ')+str(sid), self), 4,0,1,2) if results[0][0] == -3: self.layout.addWidget(LabelWordWrap(_('Certificate not sent!'), self), 5,0,1,2) else: self.layout.addWidget(LabelWordWrap(_("Your certificate ID: ") \ + str(results[0][0]), self), 5,0,1,2) try: if results[0][1] == -2: self.layout.addWidget(LabelWordWrap(_('Certificate ' 'expired'), self), 6,0,1,2) elif results[0][1] > 0: self.layout.addWidget(LabelWordWrap(_('The certificate ' 'expires after %d days')%(results[0][1]), self), 6,0,1,2) except: pass self.layout.addWidget(LabelWordWrap(_('Your IP address: ') + ip, self), 7,0,1,2) self.layout.addWidget(LabelWordWrap(_('Your MAC address: ') + mac, self), 8,0,1,2) # Add clear cache Button self.clear_cache_button = QtGui.QPushButton \ (_("Clear the session cache"), self) self.clear_cache_button.clicked.connect(self.clear_cache(client, sid)) self.layout.addWidget(self.clear_cache_button, 9,0) Quit_button = QtGui.QPushButton(_("Close"), self) Quit_button.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Escape)) self.layout.addWidget(Quit_button, 9, 1) self.connect(Quit_button, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("close()")) self.setFixedSize(260,200) self.setLayout(self.layout) self.setWindowIcon(QtGui.QIcon.fromTheme("document-edit-verify")) self.setWindowTitle(_('Session information')) self.move(window.geometry().x() + window.geometry().width() / 2 \ - self.size().width() / 2, \ window.geometry().y() + window.geometry().height() / 2 \ - self.size().height() / 2)