def lists(cls): cls.fetchRequest('Lists') headers = cls.headers() try: return json.loads(requests.get(base_url.format(server, "Lists"), headers=headers).text)['Response'] except Exception as e: print e
def fetchRequest(cls, method, json_data=None, listRequest=False, headers=None): if headers: pass elif listRequest: headers = cls.listHeaders() else: headers = cls.headers() try: if json_data: response = requests.post(base_url.format(server, method), headers=headers, json=json_data) else: response = requests.post(base_url.format(server, method), headers=headers) if response.ok: return json.loads(response.text) except Exception as e: return e
def delete(self, list_item_id): headers = self.__class__.listHeaders() headers['ListItemId'] = list_item_id try: return json.loads(requests.delete(base_url.format(server, "Set"), headers=headers).text) except Exception as e: print e
def find(cls, filter=None, **kwargs): headers = cls.listHeaders() cls.check_query() cls._query['list'] = headers['List'] if kwargs: map(lambda (x, y): cls._query['where'].append({"type": "equal", "column": x, "value": y}), [(k, v) for k, v in kwargs.iteritems()]) if filter: map(lambda (x, y): cls._query['where'].append({"type": "equal", "column": x, "value": y}), [(k, v) for k, v in filter.iteritems()]) try: import json response = requests.post(base_url.format(server, "List"), headers=headers, json=cls._query) if response.status_code == 401: cls.get_access_token() cls._query = {} if response.ok: _result = json.loads(response.text) if type(_result) == list: if len(_result) == 1: result = _result[0] newObj = cls() for key in result.iterkeys(): newObj[key] = result[key] return newObj else: result = [] for t in json.loads(response.text): newObj = cls() for key in t.iterkeys(): newObj[key] = t[key] result.append(newObj) return result except Exception as e: print e
def delete(self, list_item_id): headers = self.__class__.listHeaders() headers['ListItemId'] = list_item_id try: return json.loads( requests.delete(base_url.format(server, "Set"), headers=headers).text) except Exception as e: print e
def lists(cls): cls.fetchRequest('Lists') headers = cls.headers() try: return json.loads( requests.get(base_url.format(server, "Lists"), headers=headers).text)['Response'] except Exception as e: print e
def create_custom_pk_for_cl(cls, cl): headers = cls.headers() headers["List"] = "CustomPkCounter" response = requests.post(base_url.format(server, "Add"), headers=headers, json={ "cl": cl, "count": 1 }) if response.ok: return json.loads(response.text)
def handle_custom_pk(cls): query = query_defaults query['count'] = 1 query['list'] = 'CustomPkCounter' query['where'].append({"type": "equal", "column": "cl", "value": cls.__name__}) headers = cls.headers() last = json.loads(requests.post(base_url.format(server, "List"), headers=headers, json=query).text) if last not in EMPTY_VALUES: return last[0]['count'] + 1 cls.create_custom_pk_for_cl(cls.__name__) return 1
def find(cls, filter=None, **kwargs): headers = cls.listHeaders() cls.check_query() cls._query['list'] = headers['List'] if kwargs: map( lambda (x, y): cls._query['where'].append({ "type": "equal", "column": x, "value": y }), [(k, v) for k, v in kwargs.iteritems()]) if filter: map( lambda (x, y): cls._query['where'].append({ "type": "equal", "column": x, "value": y }), [(k, v) for k, v in filter.iteritems()]) try: import json response = requests.post(base_url.format(server, "List"), headers=headers, json=cls._query) if response.status_code == 401: cls.get_access_token() cls._query = {} if response.ok: _result = json.loads(response.text) if type(_result) == list: if len(_result) == 1: result = _result[0] newObj = cls() for key in result.iterkeys(): newObj[key] = result[key] return newObj else: result = [] for t in json.loads(response.text): newObj = cls() for key in t.iterkeys(): newObj[key] = t[key] result.append(newObj) return result except Exception as e: print e
def handle_custom_pk(cls): query = query_defaults query['count'] = 1 query['list'] = 'CustomPkCounter' query['where'].append({ "type": "equal", "column": "cl", "value": cls.__name__ }) headers = cls.headers() last = json.loads( requests.post(base_url.format(server, "List"), headers=headers, json=query).text) if last not in EMPTY_VALUES: return last[0]['count'] + 1 cls.create_custom_pk_for_cl(cls.__name__) return 1
def create_custom_pk_for_cl(cls, cl): headers = cls.headers() headers["List"] = "CustomPkCounter" response = requests.post(base_url.format(server, "Add"), headers=headers, json={"cl": cl, "count": 1}) if response.ok: return json.loads(response.text)