def channelList_cb(time, server, channel, users, topic): """ Signal for /list command. Prints content of the listing. """ self = code.init_function_attrs(channelList_cb, _text=[], _line=0, _tab=gui.tabs.search_tab(server)) def print_listing(): self._tab.write_raw("<br/>".join(self._text)) self._text = [] self._line = 0 return False if not channel and not topic and users == -1: # listing ended, reset variables def print_end(): self._tab.write(time, "End of list.") return False if self._line > 0: # print rest gobject.idle_add(print_listing) gobject.idle_add(print_end) code.reset_function_attrs(channelList_cb) signals.disconnect_signal("list", channelList_cb) else: self._text.append(("• <b>%s</b><br/>\t%d "+_("User")+"<br/>"+ "\t"+_("Topic")+": \"%s\"") % ( markup.escape(channel), users, markup.escape(topic))) self._line += 1 if self._line == 10: gobject.idle_add(print_listing)
def channelBanlist_cb(time, server, channel, mask, who, when): """ ban list signal. """ self = code.init_function_attrs(channelBanlist_cb, tab=gui.tabs.search_tab(server, channel)) if not mask and not who and when == -1: self.tab.write(time, "End of banlist.", gui.tabs.ACTION) code.reset_function_attrs(channelBanlist_cb) else: timestring = mtime.strftime("%Y-%m-%d %H:%M:%S", mtime.localtime(when)) self.tab.write( time, "%s by %s on %s" % (markup.escape(mask), markup.escape(who), markup.escape(timestring)), gui.tabs.ACTION)
def channelBanlist_cb(time, server, channel, mask, who, when): """ ban list signal. """ self = code.init_function_attrs(channelBanlist_cb, tab=gui.tabs.search_tab(server, channel)) if not mask and not who and when == -1: self.tab.write(time, "End of banlist.", gui.tabs.ACTION) code.reset_function_attrs(channelBanlist_cb) else: timestring = mtime.strftime("%Y-%m-%d %H:%M:%S", mtime.localtime(when)) self.tab.write( time, "%s by %s on %s" % (markup.escape(mask), markup.escape(who), markup.escape(timestring)), gui.tabs.ACTION, )
def dcc_send_cb(time, id, server, sender, filename, size, progress, speed, status): """ status: - 1 << 0 = incoming - 1 << 1 = resumed - 1 << 2 = running - 1 << 3 = error "" in (server, sender, filename) and 0 in (size, progress, speed, status): send was removed """ def dcc_dialog_response_cb(dialog, id, tid): if id == gtk.RESPONSE_OK: sushi.dcc_send_accept(tid) elif id == gtk.RESPONSE_CANCEL: sushi.dcc_send_remove(tid) dialog.destroy() # create dcc_news new-transfer-cache self = code.init_function_attrs(dcc_send_cb, dcc_news={}, dcc_notifies={}) if (server == "" and sender == "" and filename == "" and size == 0 and progress == 0 and speed == 0 and status == 0): # send was removed logging.debug("filetransfer %d removed." % (id)) try: del self.dcc_news[id] del self.dcc_notifies[id] except KeyError: pass return logging.debug("status is %d." % (status)) # import dcc transfer states from tekka.helper.dcc import s_new, s_incoming, s_resumable, s_running # handle incoming transfer if status & s_incoming == s_incoming: if status & s_new == s_new: # attempt made d = dcc_dialog.DCCDialog(id, parse_from(sender)[0], filename, size, resumable=(status & s_resumable == s_resumable)) self.dcc_news[id] = True d.connect("response", dcc_dialog_response_cb, id) gui.mgmt.show_inline_dialog(d) elif status & s_running and status & s_incoming: if not self.dcc_news.has_key(id) and not self.dcc_notifies.has_key( id): # notify about auto accepted file transfer gui.mgmt.show_inline_message( _("Auto accepted file transfer"), _( "maki auto accepted the following file transfer:\n" "Filename: %(filename)s\n" "Sender: %(sender)s\n" "Size: %(size)s\n" "Server: %(server)s" % { "filename": filename, "sender": parse_from(sender)[0], "size": size, "server": server }), dtype="info") self.dcc_notifies[id] = True
def dcc_send_cb(time, id, server, sender, filename, size, progress, speed, status): """ status: - 1 << 0 = incoming - 1 << 1 = resumed - 1 << 2 = running - 1 << 3 = error "" in (server, sender, filename) and 0 in (size, progress, speed, status): send was removed """ def dcc_dialog_response_cb(dialog, id, tid): if id == gtk.RESPONSE_OK: sushi.dcc_send_accept(tid) elif id == gtk.RESPONSE_CANCEL: sushi.dcc_send_remove(tid) dialog.destroy() # create dcc_news new-transfer-cache self = code.init_function_attrs(dcc_send_cb, dcc_news={}, dcc_notifies={}) if server == "" and sender == "" and filename == "" and size == 0 and progress == 0 and speed == 0 and status == 0: # send was removed logging.debug("filetransfer %d removed." % (id)) try: del self.dcc_news[id] del self.dcc_notifies[id] except KeyError: pass return logging.debug("status is %d." % (status)) # import dcc transfer states from tekka.helper.dcc import s_new, s_incoming, s_resumable, s_running # handle incoming transfer if status & s_incoming == s_incoming: if status & s_new == s_new: # attempt made d = dcc_dialog.DCCDialog( id, parse_from(sender)[0], filename, size, resumable=(status & s_resumable == s_resumable) ) self.dcc_news[id] = True d.connect("response", dcc_dialog_response_cb, id) gui.mgmt.show_inline_dialog(d) elif status & s_running and status & s_incoming: if not self.dcc_news.has_key(id) and not self.dcc_notifies.has_key(id): # notify about auto accepted file transfer gui.mgmt.show_inline_message( _("Auto accepted file transfer"), _( "maki auto accepted the following file transfer:\n" "Filename: %(filename)s\n" "Sender: %(sender)s\n" "Size: %(size)s\n" "Server: %(server)s" % {"filename": filename, "sender": parse_from(sender)[0], "size": size, "server": server} ), dtype="info", ) self.dcc_notifies[id] = True