Ejemplo n.º 1
0
    def samples(self):
        """
        Return iterator of all samples collected during this visit.
        """
        linkage_query = '"{}"[linkage.collected_during]'.format(self.id)

        query = iHMPSession.get_session().get_osdf().oql_query

        for page_no in count(1):
            res = query(Visit.namespace, linkage_query, page=page_no)
            res_count = res['result_count']

            for doc in res['results']:
                yield Sample.load_sample(doc)

            res_count -= len(res['results'])

            if res_count < 1:
                break