From: <svn...@mu...> - 2007-03-17 07:00:37
|
Author: daelstorm Date: 2007-03-17 08:00:25 +0100 (Sat, 17 Mar 2007) New Revision: 494 Modified: branches/newnet/murmur/murmur Log: Add URL handling (no GUI config and default is firefox) Modified: branches/newnet/murmur/murmur =================================================================== --- branches/newnet/murmur/murmur 2007-03-17 04:23:01 UTC (rev 493) +++ branches/newnet/murmur/murmur 2007-03-17 07:00:25 UTC (rev 494) @@ -305,7 +305,24 @@ self.config = {} self.invalidpass = 0 self.socket = None + + def CheckNick(self): + try: + if self.frame.username != None: + # We have a username, so we probably logged in successfully + return + message = "Connection is taking a while to start, maybe you are trying to connect to something besides a museek daemon, or you museek daemon is not started? Closing socket to %s.." % self.frame.Config["connection"]["interface"] + if DEBUG == True: + + print message + gobject.idle_add(self.frame.AppendToLogWindow, message) + driver.Driver.close(self) + + except Exception,e: + if DEBUG == True: print "CheckNick ERROR", e + + ## Ping def cb_ping(self): if DEBUG == True: print " **** cb_ping" @@ -980,8 +997,8 @@ try: if self.invalidpass == 0: if self.frame.Config["connection"]["passw"] != None: - #self.timer = threading.Timer(10.0, self.CheckNick) - #self.timer.start() + self.timer = threading.Timer(10.0, self.CheckNick) + self.timer.start() driver.Driver.connect(self, self.frame.Config["connection"]["interface"], self.frame.Config["connection"]["passw"], messages.EM_CHAT | messages.EM_USERINFO| messages.EM_PRIVATE | messages.EM_TRANSFERS | messages.EM_USERSHARES | messages.EM_CONFIG | messages.EM_INTERESTS| messages.EM_DEBUG) if DEBUG == True: @@ -2662,7 +2679,14 @@ self.frame.Muscan.ListNormal() elif cmd == "/listbuddy": self.frame.Muscan.ListBuddy() - + elif cmd in("/join", "/j"): + if not args: + return + self.frame.JoinARoom(args) + elif cmd in ("/c", "/close", "/leave", "/l"): + if not args: + return + self.frame.RoomLeave(args) elif cmd and cmd[:1] == "/" and cmd != "/me" and cmd[:2] != "//": self.frame.AppendToLogWindow(_("Command %s is not recognized") % text) @@ -3468,25 +3492,28 @@ self.frame.Muscan.RescanBuddy() elif cmd == "/addnormaldir": - if args: - self.frame.Muscan.AddNormalDirectory(args) - else: + if not args: return + self.frame.Muscan.AddNormalDirectory(args) + elif cmd == "/removenormaldir": - if args: - self.frame.Muscan.RemoveNormalDirectory(args) - else: + if not args: return + self.frame.Muscan.RemoveNormalDirectory(args) + elif cmd == "/addbuddydir": - if args: - self.frame.Muscan.AddBuddyDirectory(args) - else: + if not args: return + self.frame.Muscan.AddBuddyDirectory(args) + elif cmd == "/removebuddydir": - if args: - self.frame.Muscan.RemoveBuddyDirectory(args) - else: + if not args: return + self.frame.Muscan.RemoveBuddyDirectory(args) + elif cmd in ( "/tick", "/t"): + # TODO + pass + elif cmd == "/listshares": self.frame.Muscan.ListNormal() self.frame.Muscan.ListBuddy() @@ -3494,7 +3521,14 @@ self.frame.Muscan.ListNormal() elif cmd == "/listbuddy": self.frame.Muscan.ListBuddy() - + elif cmd in("/join", "/j"): + if not args: + return + self.frame.JoinARoom(args) + elif cmd in ("/c", "/close", "/leave", "/l"): + if not args: + self.OnLeave("") + self.frame.RoomLeave(args) elif cmd and cmd[:1] == "/" and cmd != "/me" and cmd[:2] != "//": self.frame.AppendToLogWindow(_("Command %s is not recognized") % text) return @@ -3507,7 +3541,7 @@ - COMMANDS = ["/alias ", "/unalias ", "/whois ", "/browse ", "/ip ", "/pm ", "/msg ", "/search ", "/usearch ", "/rsearch ", "/bsearch ", "/join ", "/leave", "/add ", "/buddy ", "/unbuddy ", "/ban ", "/ignore ", "/unban ", "/unignore ", "/clear", "/part ", "/quit", "/rescan", "/tick", "/nsa", "/info", "/ctcpversion", "/rem ", "/cl", "/t", "/a", "/q", "/l", "/p", "/bs", "/rs", "/us", "/s", "/m", "/w", "/al", "/un", "/w", "/updatenormal", "/updatebuddy", "/rescannormal", "/rescanbuddy", "/addnormaldir", "/addbuddydir", "/removenormaldir", "/removebuddydir", "/listshares", "/listnormal", "/listbuddy" ] + COMMANDS = ["/alias ", "/unalias ", "/whois ", "/browse ", "/ip ", "/pm ", "/msg ", "/search ", "/usearch ", "/rsearch ", "/bsearch ", "/join ", "/leave", "/add ", "/buddy ", "/unbuddy ", "/ban ", "/ignore ", "/unban ", "/unignore ", "/clear", "/part ", "/quit", "/rescan", "/tick", "/nsa", "/info", "/ctcpversion", "/rem ", "/cl", "/t", "/a", "/q", "/l", "/p", "/bs", "/rs", "/us", "/s", "/m", "/w", "/al", "/un", "/w", "/updatenormal", "/updatebuddy", "/rescannormal", "/rescanbuddy", "/addnormaldir", "/addbuddydir", "/removenormaldir", "/removebuddydir", "/listshares", "/listnormal", "/listbuddy", "/close", "/leave", "/join" ] def SayInChatRoom(self, user, line): if len(self.lines) >= 400: @@ -3535,6 +3569,7 @@ message = "\n-- ".join(message.split("\n")) self.lines.append(AppendLine(self.chatview, message, None, username=user, usertag=self.tag_users[user])) + if self.frame.username is not None: if user != self.frame.username and self.frame.username in message: self.chatrooms.request_hilite(self.Main) @@ -3563,7 +3598,7 @@ text = widget.get_text()[:ix].split(" ")[-1] list = self.users.keys() + [i for i in self.frame.Networking.config["buddies"] ] + ["murmur"] if ix == len(text) and text[:1] == "/": - list += self.COMMANDS + list += self.COMMANDS #["/"+k for k in self.frame.np.config.aliases.keys()] + completion, single = self.frame.GetCompletion(text, list) if completion: @@ -3574,6 +3609,7 @@ widget.set_position(ix + len(completion)) widget.emit_stop_by_name("key_press_event") return True + def UserJoinedRoom(self, username): if self.users.has_key(username): return @@ -5552,19 +5588,21 @@ "museekd": {"configfile": os.path.expanduser("~/.museekd/config.xml")}, \ "murmur":{"trayapp": "yes", "tooltips": "no", "autobuddy": "no", "roomlistminsize": 5, \ "rooms_sort": "size", "roombox": "big", "now-playing": "default", \ - "now-playing-prefix": None, "browse_display_mode": "filesystem", \ - "url reader": "firefox", "url custom prefix": ""}, \ + "now-playing-prefix": None, "browse_display_mode": "filesystem"}, \ "colors": { "chatme":"FOREST GREEN", "chatremote":"", "useronline":"BLACK", "useraway":"ORANGE","useroffline":"#aa0000", "chatlocal":"BLUE", \ "chathilite":"red", "search":"","searchq":"GREY", "chatfont": "" },\ "logging": { "logcollapsed": "no", "log_dir": "~/.murmur/logs/", "logrooms": - "yes", "rooms":[]} \ + "yes", "rooms":[]}, \ + "urls":{"urlcatching":1,"protocols":{"http":"firefox %s", "https":"firefox %s"}, "humanizeurls":1},\ + \ + "players": {"default": "xmms -e $", "npothercommand": "", "npplayer": "infopipe", "npformatlist": [], "npformat": "" } } ## @var config_manager # ConfigManager (Class) self.config_manager = ConfigManager(self) self.config_manager.check_path() - + utils.PROTOCOL_HANDLERS = self.Config["urls"]["protocols"].copy() self.username = None self.Config["connection"]["passw"] self.pid = pid @@ -5951,20 +5989,7 @@ if DEBUG == True: print "away_toggle ERROR", e - def CheckNick(self): - try: - if self.username == None: - if DEBUG == True: - #print "Joined room: %s" % room - print "Connection is taking a while to start, maybe you are trying to connect to a FTP daemon?" - print "Killing connection.." - print "Try using /interface to connect to a different port." - driver.Driver.close(self) - except Exception,e: - if DEBUG == True: print "CheckNick ERROR", e - - def ToggleLogWindow(self, widget, buf): active = widget.get_active() |