def test_video_reply(): t = int(time.time()) reply = VideoReply( target='tgu', source='su', media_id="fdasfdasfasd", time=t, ) assert reply.render().strip() == """ <xml> <ToUserName><![CDATA[tgu]]></ToUserName> <FromUserName><![CDATA[su]]></FromUserName> <CreateTime>{time}</CreateTime> <MsgType><![CDATA[video]]></MsgType> <Video> <MediaId><![CDATA[fdasfdasfasd]]></MediaId> <Title><![CDATA[]]></Title> <Description><![CDATA[]]></Description> </Video> </xml>""".format(time=t).strip() reply_2 = VideoReply( target='tgu', source='su', media_id="fdasfdasfasd", time=t, title='meow' ) assert reply_2.render().strip() == """ <xml> <ToUserName><![CDATA[tgu]]></ToUserName> <FromUserName><![CDATA[su]]></FromUserName> <CreateTime>{time}</CreateTime> <MsgType><![CDATA[video]]></MsgType> <Video> <MediaId><![CDATA[fdasfdasfasd]]></MediaId> <Title><![CDATA[meow]]></Title> <Description><![CDATA[]]></Description> </Video> </xml>""".format(time=t).strip() reply_3 = VideoReply( target='tgu', source='su', media_id="fdasfdasfasd", time=t, title='meow', description='www' ) assert reply_3.render().strip() == """ <xml> <ToUserName><![CDATA[tgu]]></ToUserName> <FromUserName><![CDATA[su]]></FromUserName> <CreateTime>{time}</CreateTime> <MsgType><![CDATA[video]]></MsgType> <Video> <MediaId><![CDATA[fdasfdasfasd]]></MediaId> <Title><![CDATA[meow]]></Title> <Description><![CDATA[www]]></Description> </Video> </xml>""".format(time=t).strip()
def onclick(message, session): _name, action_id = message.key.split(',') action_id = int(action_id) if _name: action = request.env()[_name].sudo().browse(action_id) ret = action.get_wx_reply() if is_string(ret): return create_reply(ret, message=message) elif isinstance(ret, list): return create_reply(ret, message=message) elif type(ret)==dict: media = ret media_type = media['media_type'] media_id = media['media_id'] from werobot.replies import ImageReply, VoiceReply, VideoReply, ArticlesReply if media_type=='image': return ImageReply(message=message, media_id=media_id).render() elif media_type=='voice': return VoiceReply(message=message, media_id=media_id).render() elif media_type=='video': return VideoReply(message=message, media_id=media_id).render() elif media_type=='news': from .. import client entry = client.wxenv(request.env) entry.wxclient.send_news_message(message.source, media_id)
def test_video_reply_process_args(): reply = VideoReply( target='tgu', source='su', media_id="fdasfdasfasd", ) assert reply._args['title'] == '' assert reply._args['description'] == ''
def onclick(message, session): _name, action_id = message.key.split(',') action_id = int(action_id) if _name: action = request.env()[_name].sudo().browse(action_id) ret = action.get_wx_reply() if is_string(ret): return create_reply(ret, message=message) elif isinstance(ret, list): return create_reply(ret, message=message) else: media = ret media_type = media.media_type from werobot.replies import ImageReply, VoiceReply, VideoReply, ArticlesReply if media_type=='image': return ImageReply(message=message, media_id=media.media_id).render() elif media_type=='voice': return VoiceReply(message=message, media_id=media.media_id).render() elif media_type=='video': return VideoReply(message=message, media_id=media.media_id).render()