def _base_get_list(self, url, limit=None, *, query=None, order_by=None,<EOL>batch=None):
if limit is None or limit > self.protocol.max_top_value:<EOL><INDENT>batch = self.protocol.max_top_value<EOL><DEDENT>params = {'<STR_LIT>': batch if batch else limit}<EOL>if order_by:<EOL><INDENT>params['<STR_LIT>'] = order_by<EOL><DEDENT>if query:<EOL><INDENT>if query.has_filters:<EOL><INDENT>warnings.warn(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL>query.clear_filters()<EOL><DEDENT>if isinstance(query, str):<EOL><INDENT>params['<STR_LIT>'] = query<EOL><DEDENT>else:<EOL><INDENT>params.update(query.as_params())<EOL><DEDENT><DEDENT>response = self.con.get(url, params=params)<EOL>if not response:<EOL><INDENT>return iter(())<EOL><DEDENT>data = response.json()<EOL>items = (<EOL>self._classifier(item)(parent=self, **{self._cloud_data_key: item})<EOL>for item in data.get('<STR_LIT:value>', []))<EOL>next_link = data.get(NEXT_LINK_KEYWORD, None)<EOL>if batch and next_link:<EOL><INDENT>return Pagination(parent=self, data=items,<EOL>constructor=self._classifier,<EOL>next_link=next_link, limit=limit)<EOL><DEDENT>else:<EOL><INDENT>return items<EOL><DEDENT>
Returns a collection of drive items