Beispiel #1
0
def test_news():
    weixinhandler = Weixin(token="weixin-token")
    content = [
        dict(
            Title=u"Python Web 开发之道",
            Description=u"Tornado 是一个好框架",
            PicUrl="http://cloudaice.com/tornado",
            Url="http://cloudaice.com/tornado"
        ),
        dict(
            Title=u"Python 开发微信应用",
            Description=u"使用Python开发微信应用",
            PicUrl="http://cloudaice.com/python",
            Url="http://cloudaice.com/weixin"
        )]
    weixinhandler.news(content)

    weixincontent = u"<xml>" + weixinhandler.content + u"</xml>"
    root = ET.fromstring(weixincontent.encode("utf-8"))

    def foo(root):
        dic = {}
        for elem in root:
            if elem.text is None:
                if elem.tag in dic:
                    if isinstance(dic[elem.tag], list):
                        dic[elem.tag].append(foo(elem))
                    else:
                        dic[elem.tag] = [dic[elem.tag]]
                        dic[elem.tag].append(foo(elem))
                else:
                    dic[elem.tag] = foo(elem)
            else:
                if elem.tag in dic:
                    if isinstance(dic[elem.tag], list):
                        dic[elem.tag].append(elem.text)
                    else:
                        dic[elem.tag] = [dic[elem.tag]]
                        dic[elem.tag].append(elem.text)
                else:
                    dic[elem.tag] = elem.text
        return dic

    params = foo(root)
    if "ArticleCount" in params:
        params['ArticleCount'] = int(params['ArticleCount'])
    content = {"ArticleCount": 2, "Articles": {"item": content}}
    assert_equal(params, content)
Beispiel #2
0
def test_news():
    weixinhandler = Weixin(token="weixin-token")
    content = [
        dict(Title=u"Python Web 开发之道",
             Description=u"Tornado 是一个好框架",
             PicUrl="http://cloudaice.com/tornado",
             Url="http://cloudaice.com/tornado"),
        dict(Title=u"Python 开发微信应用",
             Description=u"使用Python开发微信应用",
             PicUrl="http://cloudaice.com/python",
             Url="http://cloudaice.com/weixin")
    ]
    weixinhandler.news(content)

    weixincontent = u"<xml>" + weixinhandler.content + u"</xml>"
    root = ET.fromstring(weixincontent.encode("utf-8"))

    def foo(root):
        dic = {}
        for elem in root:
            if elem.text is None:
                if elem.tag in dic:
                    if isinstance(dic[elem.tag], list):
                        dic[elem.tag].append(foo(elem))
                    else:
                        dic[elem.tag] = [dic[elem.tag]]
                        dic[elem.tag].append(foo(elem))
                else:
                    dic[elem.tag] = foo(elem)
            else:
                if elem.tag in dic:
                    if isinstance(dic[elem.tag], list):
                        dic[elem.tag].append(elem.text)
                    else:
                        dic[elem.tag] = [dic[elem.tag]]
                        dic[elem.tag].append(elem.text)
                else:
                    dic[elem.tag] = elem.text
        return dic

    params = foo(root)
    if "ArticleCount" in params:
        params['ArticleCount'] = int(params['ArticleCount'])
    content = {"ArticleCount": 2, "Articles": {"item": content}}
    assert_equal(params, content)