예제 #1
0
    def test_is_valid_url(self):
        i_o = (
            (None, False),
            ('', False),
            ('url', False),
            ('http://url', False),
            ('http://url.com', True),
            ('http://www.url.com', True),
            ('http://www.url.com.cn', True),
        )

        for i, o in i_o:
            ret = is_valid_url(i)
            self.assertEqual(o, ret)
예제 #2
0
def format_english_dict(item, wechat=False):
    if not (item and isinstance(item, dict)):
        return {}

    url = item.get('url', '')
    if wechat:
        url = append_base_image_url(url)
        if not is_valid_url(url):
            return {}

    id = item.get('id', 0)
    return {
        'id': id,
        'subject': item.get('subject_masked', '') if wechat else item.get('subject', ''),
        'body': item.get('body_masked', '') if wechat else item.get('body', ''),
        'url': url,
        'type': item.get('type', 0),
        'is_verified': bool(item.get('is_verified', False)),
        'created_at': format_date_time(item.get('created_at', None)),
        'edit_at': format_date_time(item.get('edit_at', None)),
        'edit_url': get_english_edit_url(id, wechat=wechat),
        'info_url': get_english_info_url(id, wechat=wechat),
    }
예제 #3
0
def append_base_image_url(url):
    if not (url and isinstance(url, basestring)) or is_valid_url(url):
        return url

    return '%s%s' % (IMAGE_BASE_URL, url)