def log_result(job, state, result): rc = result.get("rc", "(Error)") msg = result.get("msg", "(Error)") if rc == "KO": event = main_events.Event(None, "%s %s: %s" % (station, _(" says "), msg)) self.emit("event", event) else: # rc == "OK": event = main_events.Event(None, result) printlog("MainStation",": result returned: %s" % str(result)) printlog("MainStation",": event returned: %s" % event)
def log_failure(job, state, result): rc = result.get("rc", "Timeout") event = main_events.Event(None, "%s: %s" % (job.get_dest(), rc)) job = self._remote.refresh() self._emit("submit-rpc-job", job, port) self._emit("event", event)
def RPC_file_list(self, job): result = {} dir = self.__config.get("prefs", "download_dir") files = glob.glob(os.path.join(dir, "*.*")) for fn in files: if os.path.isdir(fn): continue size = os.path.getsize(fn) if size < 1024: units = "B" else: size >>= 10 units = "KB" ds = datetime.datetime.fromtimestamp(os.path.getmtime(fn)) fn = os.path.basename(fn) result[fn] = "%i %s (%s)" % (size, units, ds.strftime("%Y-%m-%d %H:%M:%S")) event = main_events.Event(None, job.get_dest() + " " + \ _("Requested file list")) self.emit("event", event) return result
def log_result(job, state, result): msg = result.get("rc", "(Error)") if msg != "OK": event = main_events.Event( None, "%s %s: %s" % (station, _("says"), msg)) self.emit("event", event) print(("Result: %s" % str(result)))
def RPC_check_mail(self, job): def check_done(mt, success, message, job): result = {"rc": success and "0" or "-1", "msg": message} job.set_state("complete", result) event = main_events.Event( None, "%s %s: %s" % (_("Checking mail for"), job.get_dest(), message)) self.emit("event", event) args = job.get_account() + (job.get_dest(), ) if args[0] == "@WL2K": if self.__config.getboolean("prefs", "msg_allow_wl2k"): mt = wl2k.WinLinkThread(self.__config, job.get_dest(), args[1]) mt.connect("event", self.__proxy_emit("event")) mt.connect("form-received", self.__proxy_emit("form-received")) mt.connect("form-sent", self.__proxy_emit("form-sent")) else: return {"rc": "False", "msg": "WL2K gateway is disabled"} else: if self.__config.getboolean("prefs", "msg_allow_pop3"): mt = emailgw.CoercedMailThread(self.__config, *args) else: return {"rc": "False", "msg": "POP3 gateway is disabled"} self.emit("register-object", mt) mt.connect("mail-thread-complete", check_done, job) mt.start() event = main_events.Event( None, "%s %s" % (job.get_dest(), _("requested a mail check"))) self.emit("event", event)
def check_done(mt, success, message, job): result = {"rc": success and "0" or "-1", "msg": message} job.set_state("complete", result) event = main_events.Event( None, "%s %s: %s" % (_("Checking mail for"), job.get_dest(), message)) self.emit("event", event)
def log_result(job, state, result): if state == "complete": msg = "Station %s running D-RATS %s on %s" % (\ job.get_dest(), result.get("version", "Unknown"), result.get("os", "Unknown")) printlog("MainStation",": Station %s reports version info: %s" % (job.get_dest(), result)) else: msg = "No version response from %s" % job.get_dest() event = main_events.Event(None, msg) self.emit("event", event)
def RPC_form_list(self, job): result = {} forms = self.emit("get-message-list", "CQCQCQ") for subj, stamp, filen in forms: ts = time.localtime(stamp) result[filen] = "%s/%s" % (subj, time.strftime("%b-%d-%Y %H:%M:%S", ts)) event = main_events.Event(None, job.get_dest() + " " + \ _("Requested message list")) self.emit("event", event) return result
def RPC_form_pull(self, job): result = {} forms = self.emit("get-message-list", "CQCQCQ") result["rc"] = "Form not found" for subj, stamp, filen in forms: if filen == job.get_form(): fname = os.path.join(self.__config.platform.config_dir(), "messages", filen) if os.path.exists(fname): result["rc"] = "OK" self.emit("rpc-send-form", job.get_dest(), self.__port, fname, subj) break event = main_events.Event(None, job.get_dest() + " " + \ _("Requested message %s") % subj) self.emit("event", event) return result
def RPC_file_pull(self, job): result = {} if not self.__config.getboolean("prefs", "allow_remote_files"): result["rc"] = "Remote file transfers not enabled" return result dir = self.__config.get("prefs", "download_dir") path = os.path.join(dir, job.get_file()) print("Remote requested %s" % path) if os.path.exists(path): result["rc"] = "OK" self.emit("rpc-send-file", job.get_dest(), self.__port, path, job.get_file()) else: result["rc"] = "File not found" event = main_events.Event(None, job.get_dest() + " " + \ _("Requested file %s") % job.get_file()) self.emit("event", event) return result
def log_failure(job, state, result): rc = result.get("rc", "Timeout") if rc != "OK": event = main_events.Event(None, "%s: %s" % (job.get_dest(), rc)) self._emit("event", event)
def log_result(job, state, result): msg = "Mail check via %s: %s" % ( job.get_dest(), result.get("msg", "No response")) event = main_events.Event(None, msg) self.emit("event", event)