Exemplo n.º 1
0
 def ask_all(self,
             query_tool,
             start=0,
             end=None,
             root_doc='',
             prefilter=True,
             verbose=True):
     if verbose:
         print(start, end, root_doc, datetime.now())
     root = ET.Element('graphqueries_responses')
     stat = Stat(root_doc)
     errors = []
     if not end or end < start or end > len(self.query_list):
         end = len(self.query_list)
     for i in range(start, end):
         try:
             if prefilter and self.related_docs and root_doc in p2c and root_doc not in self.related_docs[
                     i]:
                 continue
             # ans one:
             if verbose:
                 print(root_doc, i, self.query_list[i]['@id'],
                       datetime.now())
             single = SingleGraphQuery(query_tool, self.query_list[i],
                                       root_doc, stat)
             responses = single.get_responses()
             if len(responses):
                 root.append(responses)
         except Exception as e:
             errors.append('%s\n%s\n' % (','.join(
                 (root_doc, self.query_list[i]['@id'], str(i), str(e))),
                                         traceback.format_exc))
     return root, stat, errors