def demo(key, key_id): client = Client() try: if key_id: # request key details for the supplied identifier only logging.info("Requesting key details for key: %s" % key_id) dataStructure = yield client.read_api_key(api_key=key, key_id=key_id) else: # request feed details for all feeds visible to the key supplied logging.info("Requesting a key listing") dataStructure = yield client.list_api_keys(api_key=key) logging.info("Received response from Pachube:\n%s\n" % dataStructure) reactor.callLater(0.1, reactor.stop) defer.returnValue(True) except Exception, ex: logging.error("Error: %s" % str(ex)) reactor.callLater(0.1, reactor.stop) defer.returnValue(False)