<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _obj_index(self, uri, base_path, marked_path, headers, spr=False):
 """Return an index of objects from within the container. :param uri: :param base_path: :param marked_path: :param headers: :param spr: "single page return" Limit the returned data to one page :type spr: ``bol`` :return: """

        object_list = list()
        l_obj = None
        container_uri = uri.geturl()

        while True:
            marked_uri = urlparse.urljoin(container_uri, marked_path)
            resp = self.http.get(url=marked_uri, headers=headers)
            self._resp_exception(resp=resp)
            return_list = resp.json()
            if spr:
                return return_list

            time_offset = self.job_args.get('time_offset')
            for obj in return_list:
                if time_offset:
                    # Get the last_modified data from the Object.
                    time_delta = cloud_utils.TimeDelta(
                        job_args=self.job_args,
                        last_modified=time_offset
                    )
                    if time_delta:
                        object_list.append(obj)
                else:
                    object_list.append(obj)

            if object_list:
                last_obj_in_list = object_list[-1].get('name')
            else:
                last_obj_in_list = None

            if l_obj == last_obj_in_list:
                return object_list
            else:
                l_obj = last_obj_in_list
                marked_path = self._last_marker(
                    base_path=base_path,
                    last_object=l_obj
                )