Beispiel #1
0
 def send_req(self, req, prms=None):
     try:
         if self._sharedmemclient==None or self._sharedmemclient.is_close():
             self._sharedmemclient=listener.SharedMemClient()
         return self._sharedmemclient.send_request("admin", self._password, req, prms);
     except: 
         return 'ERROR:REQUEST_TIMEOUT'
Beispiel #2
0
    def get_info(self):
        ret={"state": "-1","connections":"0"}
        self._semaphore.acquire()
        try:
            if self._sharedmemclient==None or self._sharedmemclient.is_close():
                self._sharedmemclient=listener.SharedMemClient()
                self._status_cnt=-1

            cnt=long(self._sharedmemclient.get_property("counter"))
            if self._status_cnt!=cnt:
                self._status_cnt=cnt
                ret["state"] = self._sharedmemclient.get_property("state")
                try:
                    ret["connections"] = self._sharedmemclient.get_property("connections")
                except:
                    None
                try:
                    ret["group"] = self._sharedmemclient.get_property("group")
                except:
                    None
                try:
                    ret["name"] = self._sharedmemclient.get_property("name")
                except:
                    None
                return ret;
            else:
                return ret
        except Exception as e:
            print str(e)
            return ret
        finally:
            self._semaphore.release()
Beispiel #3
0
 def send_req(self, usr, pwd, req, prms=None):
     self._semaphore.acquire()
     try:
         if self._sharedmemclient==None or self._sharedmemclient.is_close():
             self._sharedmemclient=listener.SharedMemClient()
         return self._sharedmemclient.send_request(usr, pwd, req, prms);
     except: 
         return 'ERROR:REQUEST_TIMEOUT'
     finally:
         self._semaphore.release()
Beispiel #4
0
    def get_info(self):
        ret = {"state": "-1", "sessions_status": []}
        self._semaphore.acquire()
        try:
            if self._sharedmemclient == None or self._sharedmemclient.is_close(
            ):
                self._sharedmemclient = listener.SharedMemClient(
                    path=self._config_base_path)
                self._status_cnt = -1

            cnt = long(self._sharedmemclient.get_property("counter"))
            if self._status_cnt != cnt:
                if self._status_cnt == -1:  #SKIP FIRST READ
                    self._status_cnt = cnt
                    return ret
                else:
                    self._status_cnt = cnt
                    ret["state"] = self._sharedmemclient.get_property("state")
                    try:
                        ret["group"] = self._sharedmemclient.get_property(
                            "group").decode("unicode-escape")
                    except:
                        None
                    try:
                        ret["name"] = self._sharedmemclient.get_property(
                            "name").decode("unicode-escape")
                    except:
                        None
                    try:
                        if ret["state"] == '1':
                            csts = json.loads(
                                self._sharedmemclient.get_property(
                                    "sessions_status"))
                        else:
                            csts = []
                        ret["sessions_status"] = csts
                        if self._monitor_desktop_notification != "none":
                            if self._notifyActivities is None:
                                self._notifyActivities = NotifyActivities(self)
                            appar = self.get_activities(csts)
                            self._notifyActivities.set_sessions(
                                appar["sessions"])
                            self._notifyActivities.set_visible(
                                "screencapture", appar["screenCapture"] > 0)
                            self._notifyActivities.set_visible(
                                "shell", appar["shellSession"] > 0)
                            self._notifyActivities.set_visible(
                                "transfers",
                                (appar["downloads"] + appar["uploads"]) > 0)
                            self._notifyActivities.update()
                    except:
                        None
                    return ret
            else:
                if self._monitor_desktop_notification != "none":
                    if self._notifyActivities is not None:
                        self._notifyActivities.set_sessions(False)
                        self._notifyActivities.update()

                return ret
        except Exception as e:
            print str(e)
            return ret
        finally:
            self._semaphore.release()