def process(self): for bridge in self.bridges: print bridge rows = [] ds = self.manager.open_or_create_datastore(bridge) t = ds.get_table('config') devices = t.query(type='idtoname') print "" for d in devices: devHandle = d.get('device') devName = d.get('name') t = ds.get_table(devHandle) for sensor in SENSORS: readings = t.query(Type=sensor) values = [] max = 0 for r in readings: timeStamp = float(r.get('Date')) if timeStamp > max: max = timeStamp dat = r.get('Data') values.append([timeStamp, dat]) #values.sort(key=lambda tup: tup[0]) #for v in values: #line = self.niceTime(v[0]) + "," + str("%2.1f" %v[1]) + "\n" #self.f.write(line) rows.append([devHandle, devName, sensor, niceTime(max)]) header = ('Handle', 'Friendly Name', 'Sensor', 'Most Recent Sample') txt = matrix_to_string(rows, header) print txt
# # Include the Dropbox SDK from dropbox.client import DropboxClient, DropboxOAuth2Flow, DropboxOAuth2FlowNoRedirect from dropbox.rest import ErrorResponse, RESTSocketError from dropbox.datastore import DatastoreError, DatastoreManager, Date, Bytes import dropbox.datastore from pprint import pprint import time, sys, os from utilities import matrix_to_string, niceTime # access_token = os.getenv('CB_DROPBOX_TOKEN', 'NO_TOKEN') if access_token == "NO_TOKEN": print "No Dropbox access token. You must set CB_DROPBOX_TOKEN environment variable first." exit() try: client = DropboxClient(access_token) except: print "Could not access Dropbox. Wrong access token?" exit() manager = dropbox.datastore.DatastoreManager(client) ds = manager.list_datastores() #print "Datastores: ", ds rows = [] for d in ds: #dat = niceTime(float(d[4])) rows.append([d[0], d[4]]) header = ['Bridge', 'Last Accessed'] txt = matrix_to_string(rows, header) print txt