def get_info(self, proto, *args): info = ServerCore.get_info(self, proto) info.setdefault("server", {})["type"] = "Python/GLib/proxy" #only show more info if we have authenticated #as the user running the proxy server process: pa = proto.authenticator if pa: sessions = pa.get_sessions() if sessions: uid, gid = sessions[:2] if os.name != "posix" or (uid == os.getuid() and gid == os.getgid()): info.update(ServerCore.get_info(self, proto)) self.reap() i = 0 for p, v in self.processes.items(): d, _ = v info[i] = { "display": d, "live": p.is_alive(), "pid": p.pid, } i += 1 info["proxies"] = len(self.processes) return info
def get_info(self, proto, *_args): info = ServerCore.get_info(self, proto) info.setdefault("server", {})["type"] = "Python/GLib/proxy" #only show more info if we have authenticated #as the user running the proxy server process: if proto and proto.authenticators: sessions = [] for authenticator in proto.authenticators: auth_sessions = authenticator.get_sessions() #don't add duplicates: for x in auth_sessions: if x not in sessions: sessions.append(x) if sessions: uid, gid = sessions[:2] if not POSIX or (uid==os.getuid() and gid==os.getgid()): self.reap() i = 0 for p,v in self.processes.items(): d,_ = v info[i] = { "display" : d, "live" : p.is_alive(), "pid" : p.pid, } i += 1 info["proxies"] = len(self.processes) return info
def get_info(self, proto=None, client_uuids=None): log("ServerBase.get_info%s", (proto, client_uuids)) start = monotonic_time() info = ServerCore.get_info(self, proto) server_info = info.setdefault("server", {}) if self.mem_bytes: server_info["total-memory"] = self.mem_bytes if client_uuids: sources = [ ss for ss in self._server_sources.values() if ss.uuid in client_uuids ] else: sources = tuple(self._server_sources.values()) log("info-request: sources=%s", sources) dgi = self.do_get_info(proto, sources) #ugly alert: merge nested dictionaries, #ie: do_get_info may return a dictionary for "server" and we already have one, # so we update it with the new values for k, v in dgi.items(): cval = info.get(k) if cval is None: info[k] = v continue cval.update(v) log("ServerBase.get_info took %.1fms", 1000.0 * (monotonic_time() - start)) return info
def get_info(self, proto, *args): info = ServerCore.get_info(self, proto) info.setdefault("server", {})["type"] = "Python/GLib/proxy" #only show more info if we have authenticated #as the user running the proxy server process: pa = proto.authenticator if pa: sessions = pa.get_sessions() if sessions: uid, gid = sessions[:2] if os.name!="posix" or (uid==os.getuid() and gid==os.getgid()): info.update(ServerCore.get_info(self, proto)) self.reap() i = 0 for p,v in self.processes.items(): d,_ = v info[i] = { "display" : d, "live" : p.is_alive(), "pid" : p.pid, } i += 1 info["proxies"] = len(self.processes) return info
def get_info(self, proto, *args): info = {"server.type": "Python/GObject/proxy"} #only show more info if we have authenticated #as the user running the proxy server process: sessions = proto.authenticator.get_sessions() if sessions: uid, gid = sessions[:2] if uid == os.getuid() and gid == os.getgid(): info.update(ServerCore.get_info(self, proto)) self.reap() i = 0 for p, v in self.processes.items(): d, _ = v info["proxy[%s].display" % i] = d info["proxy[%s].live" % i] = p.is_alive() info["proxy[%s].pid" % i] = p.pid i += 1 info["proxies"] = len(self.processes) return info
def get_info(self, proto, *args): info = {"server.type" : "Python/GLib/proxy"} #only show more info if we have authenticated #as the user running the proxy server process: sessions = proto.authenticator.get_sessions() if sessions: uid, gid = sessions[:2] if uid==os.getuid() and gid==os.getgid(): info.update(ServerCore.get_info(self, proto)) self.reap() i = 0 for p,v in self.processes.items(): d,_ = v info[i] = {"display" : d, "live" : p.is_alive(), "pid" : p.pid} i += 1 info["proxies"] = len(self.processes) return info