Example #1
0
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()
Example #2
0
 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)
Example #3
0
def test_video_reply_process_args():
    reply = VideoReply(
        target='tgu',
        source='su',
        media_id="fdasfdasfasd",
    )
    assert reply._args['title'] == ''
    assert reply._args['description'] == ''
Example #4
0
 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()