__init__.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:BigBrotherBot-For-UrT43 作者: ptitbigorneau 项目源码 文件源码
def routePacket(self, packet):
        if packet is None:
            self.warning('Cannot route empty packet')
        if packet.message == MessageType.SERVER_TRANSMISSION \
            and packet.data == "PONG":
            self.verbose2("%s" % packet)
        else:
            self.console("%s" % packet)

        if packet.message == MessageType.SERVER_TRANSMISSION:
            if packet.channel == ChannelType.SERVER:
                if packet.data == "PONG":
                    return
                match = re.search(r"^(?P<event>[A-Z ]+): (?P<data>.*)$", packet.data, re.MULTILINE | re.DOTALL)
                if match:
                    func = 'onServer%s' % (string.capitalize(match.group('event').replace(' ','_')))
                    data = match.group('data')
                    #self.debug('DATA: %s' % data)
                    #self.debug("-==== FUNC!!: " + func)

                    if hasattr(self, func):
                        #self.debug('routing ----> %s' % func)
                        func = getattr(self, func)
                        event = func(data)
                        if event:
                            self.queueEvent(event)
                    else:
                        self.warning('TODO: handle: %s(%s)' % (func, data))
                else:
                    self.warning('TODO: handle packet : %s' % packet)
                    self.queueEvent(self.getEvent('EVT_UNKNOWN', packet))

            elif packet.channel == ChannelType.CHATTER:
                if packet.data.startswith('BROADCAST:'):
                    data = packet.data[10:]
                    func = 'onChatterBroadcast'
                    if hasattr(self, func):
                        func = getattr(self, func)
                        event = func(data)
                        if event:
                            self.queueEvent(event)
                    else:
                        self.warning('TODO: handle: %s(%s)' % (func, data))
                else:
                    data = packet.data
                    func = 'onChatter'
                    if hasattr(self, func):
                        #self.debug('routing ----> %s' % func)
                        func = getattr(self, func)
                        event = func(data)
                        if event:
                            self.queueEvent(event)
                    else:
                        self.warning('TODO handle: %s(%s)' % (func, data))
            else:
                self.warning("unhandled channel type : %s" % packet.getChannelTypeAsStr())
        else:
            self.warning("unhandled message type : %s" % packet.getMessageTypeAsStr())
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号