Exemple #1
0
 def test_parse_nodeinfo2_10_document(self):
     result = parse_nodeinfo2_document(json.loads(NODEINFO2_10_DOC),
                                       'example.com')
     assert result == {
         'organization': {
             'account': 'https://example.com/u/admin',
             'contact': '*****@*****.**',
             'name': 'Example organization',
         },
         'host': 'example.com',
         'name': 'Example server',
         'open_signups': True,
         'protocols': ["diaspora", "zot"],
         'relay': "tags",
         'server_meta': {},
         'services': ["facebook", "gnusocial", "twitter"],
         'platform': 'example',
         'version': '0.5.0',
         'features': {},
         'activity': {
             'users': {
                 'total': 123,
                 'half_year': 42,
                 'monthly': 23,
                 'weekly': 10,
             },
             'local_posts': 500,
             'local_comments': 1000,
         },
     }
Exemple #2
0
def fetch_nodeinfo2_document(host):
    doc, status_code, error = fetch_document(host=host, path='/.well-known/x-nodeinfo2')
    if not doc:
        return
    try:
        doc = json.loads(doc)
    except json.JSONDecodeError:
        return
    return parse_nodeinfo2_document(doc, host)