1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| #!/usr/bin/env python
import os, json, sys
import urllib2, urllib
import base64
# API routes:
#
# POST /auth/token
# DELETE /auth/token
# GET /help
# GET /me
# GET /users/:uid
# GET /tadas
# GET /me/tadas
# GET /users/:uid/tadas
# GET /tadas/:tada_id
#
# Config
#
endpoint = 'https://api.tadaweb.com/v1'
credentials = base64.b64encode('KEY:TOKEN')
#
# First get bearer
#
data = urllib.urlencode({})
data = data.encode('utf-8')
request = urllib2.Request(endpoint + '/auth/token', data)
request.add_header("Authorization","Basic " + credentials)
try:
f = urllib2.urlopen(request, data)
except urllib2.HTTPError, e:
sys.exit('Exception: code=' + str(e.code) + ', msg=' + e.msg)
except urllib2.URLError, e:
sys.exit('Critical - ' + str(e.args))
except:
sys.exit('Critical - exception')
data = json.loads(f.read().decode('utf-8'))
def getTaDa(tada_id):
request = urllib2.Request(endpoint + '/tadas/' + tada_id)
request.add_header("Authorization", "Bearer " + base64.b64encode(data['bearer']))
try:
f = urllib2.urlopen(request)
except urllib2.HTTPError, e:
sys.exit('Exception: code=' + str(e.code) + ', msg=' + e.msg)
except urllib2.URLError, e:
sys.exit('Critical - ' + str(e.args))
except:
sys.exit('Critical - exception')
tada = json.loads(f.read().decode('utf-8'))
return tada
def getTaDas():
request = urllib2.Request(endpoint + '/me/tadas')
request.add_header("Authorization", "Bearer " + base64.b64encode(data['bearer']))
try:
f = urllib2.urlopen(request)
except urllib2.HTTPError, e:
sys.exit('Exception: code=' + str(e.code) + ', msg=' + e.msg)
except urllib2.URLError, e:
sys.exit('Critical - ' + str(e.args))
except:
sys.exit('Critical - exception')
tadas = json.loads(f.read().decode('utf-8'))
# Loop on each TaDa
for r in tadas['results']:
tada = getTaDa(r['uid'])
satellites = tada['content']
if len(satellites) < 1:
print "No output found for this TaDa, problem?"
continue
print '================================'
print '================================'
print '================================'
print 'TaDa: ' + tada['name']
for sat in satellites:
if sat['type'] == 'list':
for sat_data in sat['data']:
print 'List item:' + base64.b64decode(sat_data['plaintext_b64']).strip()
elif sat['type'] == 'item':
print 'Item:' + base64.b64decode(sat['data']['plaintext_b64']).strip()
getTaDas() |
Partager