def load_config(self): """ Loads config from file and returns loaded JSON object """ try: with open(self._conf_name, 'rb') as conf: return json.load(conf) except IOError, e: #sys.stderr.write(str(e) + '\n') pass
def update_config(self, new_config): """ Reads the JSON config updates it's values with new_config and saves it back as JSON dump :param new_config: """ config = {} try: with open(self._conf_name, 'rb') as conf: config = json.load(conf) except IOError, e: sys.stderr.write(str(e) + '\n')
def post(self, method, args): """Send a generic API post to Kallithea. This will generate the UUID for validation check after the response is returned. Handle errors and get the result back. """ uid = str(uuid.uuid1()) data = self.get_api_data(uid, method, args) data = json.dumps(data) headers = {'content-type': 'text/plain'} req = urllib2.Request(self.url, data, headers) response = urllib2.urlopen(req) response = json.load(response) if uid != response["id"]: raise InvalidResponseIDError("UUID does not match.") if response["error"] is not None: raise ResponseError(response["error"]) return response["result"]