def __repr__(self): _repr = '{klass}({name})'.format(klass=self.__class__.__name__, name=repr(self.name)) if six.PY2: return to_binary(_repr) else: return to_text(_repr)
def __repr__(self): _repr = "{klass}({msg})".format(klass=self.__class__.__name__, mss=repr(self._data)) if six.PY2: return to_binary(_repr) else: return to_text(_repr)
def __repr__(self): _repr = '{klass}({name})'.format( klass=self.__class__.__name__, name=repr(self.name) ) if six.PY2: return to_binary(_repr) else: return to_text(_repr)
def __repr__(self): _repr = "{klass}({msg})".format( klass=self.__class__.__name__, mss=repr(self._data) ) if six.PY2: return to_binary(_repr) else: return to_text(_repr)
def parse_message(xml): """ 微信服务器推送过来的消息使用POST方法,消息内容是xml格式的内容 :param xml: xml格式消息 :return:消息类型或者事件类型 """ if not xml: return message = xmltodict.parse(to_text(xml))['xml'] message_type = message['MsgType'].lower() if message_type in ('event', 'device_event'): # 若接收到事件推送 event_type = message['Event'].lower() # 事件类型 if message_type == 'device_event': # 设备事件 event_type = 'device_{event}'.format(event=event_type) if event_type == 'subscribe' and message.get('EventKey'): # 关注事件 event_type = 'subscribe_scan' message['Event'] = event_type message['EventKey'] = message['EventKey'].replace('qrscene_', '') message_class = EVENT_TYPES.get(event_type, UnknownMessage) else: message_class = MESSAGE_TYPES.get(message_type, UnknownMessage) return message_class(message)
def parse_message(xml): """ 微信服务器推送过来的消息使用POST方法,消息内容是xml格式的内容 :param xml: xml格式消息 :return:消息类型或者事件类型 """ if not xml: return message = xmltodict.parse(to_text(xml))["xml"] message_type = message["MsgType"].lower() if message_type in ("event", "device_event"): # 若接收到事件推送 event_type = message["Event"].lower() # 事件类型 if message_type == "device_event": # 设备事件 event_type = "device_{event}".format(event=event_type) if event_type == "subscribe" and message.get("EventKey"): # 关注事件 event_type = "subscribe_scan" message["Event"] = event_type message["EventKey"] = message["EventKey"].replace("qrscene_", "") message_class = EVENT_TYPES.get(event_type, UnknownMessage) else: message_class = MESSAGE_TYPES.get(message_type, UnknownMessage) return message_class(message)
def __to_text(self, value): return to_text(value)
def __base64_decode(self, text): return to_text(base64.b64decode(to_binary(text)))
def __str__(self): if six.PY2: return to_binary(self.render()) else: return to_text(self.render())