Skip to content

Instantly share code, notes, and snippets.

@falzm
Created June 16, 2015 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save falzm/7c6ce2058ef869b93da9 to your computer and use it in GitHub Desktop.
Save falzm/7c6ce2058ef869b93da9 to your computer and use it in GitHub Desktop.
List Online.net RPN groups
#!/usr/bin/env python
import re
import httplib
import json
import sys
def query_api(uri):
conn = httplib.HTTPSConnection('api.online.net')
conn.request('GET',
'/api/v1/%s' % uri.lstrip('/'),
headers={'Authorization': 'Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'})
response = conn.getresponse()
if response.status != 200:
sys.exit(1)
return json.loads(response.read())
rpn_groups = query_api('/rpn/group')
if len(sys.argv) >= 2:
groups = []
for i, group in enumerate(rpn_groups):
if group['name'] in sys.argv[1:]:
groups.append(group)
else:
groups = rpn_groups
for group in groups:
print('\n* %s (%s)' % (group['name'], group['id']))
for member in group['members']:
server = query_api('/server/%d' % member['id'])
print(' %s\t%s\t%s' % (server['id'], server['hostname'], server['network']['private'][0]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment