rendered paste body#!/usr/bin/python#-*- coding: UTF-8 -*-import reclass ParseString: def __init__(self,string): '''Parses the data which comes from server''' self.string = string def nick(self): '''Get user nick''' NickRegex = re.compile(":(.*?)!") try: nick = re.search(NickRegex,self.string).group(1) return nick except: return False def ident(self): '''Get user's ident''' IdentRegex = re.compile("n=(.*?) ") try: ident = re.search(IdentRegex,self.string).group(1) return ident except: return False def command(self): CommandRegex = re.compile("!(.*?) ") ArgumentRegex = re.compile("(.*?) ") try: command = re.search(CommandRegex,self.message()).group()[:-1] except: return False message = self.message()[len(command):] try: argument1 = re.search(ArgumentRegex,message).group() argument2 = message[len(argument1):] output = [command,argument1,argument2] return output except: output = [command,message] return output def channel(self): '''Get channel''' ChannelRegex = re.compile(" (.*?) :") try: channel = re.search(ChannelRegex,self.string).group(1).split(' ')[1] return channel except: return False def message(self): '''Get User's message''' MessageRegex = re.compile(" :(.*?)\r") try: message = re.search(MessageRegex,self.string).group(1) return message except: return False def irccommand(self): '''Get irc command, e.g "PRIVMSG, PING, KICK"''' IrcCommandRegex = re.compile(" (.*?) :") try: irccommand = re.search(IrcCommandRegex,self.string).group(1).split(' ')[0] return irccommand except: return False