Пример #1
0
    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()
Пример #2
0
    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()
Пример #3
0
        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
Пример #7
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
Пример #9
0
    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)