def get(self, entity, id=None, sub_entity=None, offset=<NUM_LIT:0>, limit=<NUM_LIT:20>,<EOL>search_terms=None, sync=True):
url = urljoin(self.host, entity.value + '<STR_LIT:/>')<EOL>url = urljoin(url, id + '<STR_LIT:/>') if id else url<EOL>url = urljoin(url, sub_entity.value + '<STR_LIT:/>') if sub_entity else url<EOL>terms = {'<STR_LIT>': str(sync).lower()}<EOL>if search_terms:<EOL><INDENT>terms.update(search_terms)<EOL><DEDENT>if not id:<EOL><INDENT>terms.update({'<STR_LIT>': limit, '<STR_LIT>': offset})<EOL><DEDENT>url = Utils.add_url_parameters(url, terms)<EOL>r = requests.get(url, auth=self.auth, headers=self.headers)<EOL>if sub_entity == Entity.Content:<EOL><INDENT>return r.content<EOL><DEDENT>elif r.ok:<EOL><INDENT>j = r.json()<EOL>if '<STR_LIT>' not in j:<EOL><INDENT>return {'<STR_LIT>': [j]}<EOL><DEDENT>next_path = j['<STR_LIT>']['<STR_LIT>']<EOL>while next_path:<EOL><INDENT>offset += limit<EOL>url = urljoin(self.host, entity.value + '<STR_LIT:/>')<EOL>url = urljoin(url, id + '<STR_LIT:/>') if id else url<EOL>url = urljoin(<EOL>url, sub_entity.value + '<STR_LIT:/>') if sub_entity else url<EOL>terms = {'<STR_LIT>': offset}<EOL>url = Utils.add_url_parameters(<EOL>url, {'<STR_LIT>': offset})<EOL>r = requests.get(url, auth=self.auth, headers=self.headers)<EOL>j['<STR_LIT>'].extend(r.json()['<STR_LIT>'])<EOL>next_path = r.json()['<STR_LIT>']['<STR_LIT>']<EOL><DEDENT>return j['<STR_LIT>']<EOL><DEDENT>else:<EOL><INDENT>raise CoredataError(<EOL>'<STR_LIT>'.format(<EOL>code=r.status_code, url=url))<EOL><DEDENT>
Get all entities that fufill the given filtering if provided.

:todo: Rename search_terms