def logout(self) -> bool: try: response = self.get("logout") except RequestErr as e: raise Exception(err_msg.format('Logout', e)) return check_response(response, **{ 'status': True, 'url': self.prefix_url })
def _get_obj(self, obj: str, obj_id: int = None) -> list: got_obj: list = [] page: str = dat[obj]['url']['single'].format( obj_id) if obj_id else dat[obj]['url']['all'] try: response = self.get(page) if check_response(response, **{'status': True, 'json': True}): got_obj.append(response.json()['data']) except RequestErr as e: raise Exception(err_msg.format("Get Object", e)) return got_obj
def _get_csv(self, obj: str) -> list: ret_list: list = [] page: str = 'admin/export/csv?table={}'.format(obj) try: response = self.get(page) except RequestErr as e: raise Exception(err_msg.format('Get CSV', e)) if check_response(response, **{'status': True}): dictreader = DictReader(response.text.split('\r\n')) for row in dictreader: ret_list.append(row) return ret_list
def _delete_obj(self, obj: str, **kwargs) -> bool: try: obj_id = kwargs['id'] head = { "Content-Type": "application/json", "CSRF-Token": self._get_nonce() } response = self.delete(dat[obj]['url']['single'].format(obj_id), headers=head) except KeyError as e: raise Exception(err_msg.format("Delete", e)) except RequestErr as e: raise Exception(err_msg.format("Delete", e)) return check_response(response, **{"status": True})
def _update_obj(self, obj: str, **kwargs) -> dict: update_obj: dict = {} head = { "Content-Type": "application/json", "CSRF-Token": self._get_nonce() } try: data: dict = kwargs response = self.patch(dat[obj]['url']['single'].format( kwargs['id']), data=dumps(data, separators=(",", ":")), headers=head) if check_response(response, **{'status': True, 'json': True}): update_obj = response.json()['data'] except KeyError as e: raise Exception(err_msg.format('Update Object', e)) except RequestErr as e: raise Exception(err_msg.format('Update Object', e)) return update_obj
def _add_obj(self, obj: str, **kwargs) -> dict: files = {} new_obj = {} if obj != 'files': try: head = { "CSRF-Token": self._get_nonce(), "Content-Type": "application/json" } data: dict = kwargs data.pop('id') if 'id' in data.keys() else None data: str = dumps(data, separators=(",", ":")) except Exception as e: raise e elif obj == 'files': head = {} data = kwargs['data'] files = kwargs['files'] kwargs.pop('files') try: response = self.post(dat[obj]['url']['all'], files=files, data=data, headers=head) if check_response(response, **{"status": True, "json": True}): new_obj = response.json()['data'] except RequestErr as e: raise Exception(err_msg.format('Add Object', e)) except Exception as e: raise Exception( err_msg.format('Add Objects', '{}\n\t{}'.format(data, e))) return new_obj