Exemple #1
0
 def build_table(self):
     rows = []
     for domain in Domain.get_all():
         for monthspan in self.monthspan_list:
             gir_dict = GIRTableGenerator.get_gir_dict_for_domain_and_monthspan(
                 domain, monthspan)
             rows.append(gir_dict)
     GIRRow.objects.bulk_create([GIRRow(**gir_row) for gir_row in rows])
Exemple #2
0
    def build_table(self):
        def fetch_latest_doc(dom1_id, dom2_id):
            dom1 = Domain.get(dom1_id)
            dom2 = Domain.get(dom2_id)
            assert dom1.name == dom2.name
            return dom2 if dom1.last_modified < dom2.last_modified else dom1

        domains_by_name = {}
        rows = []
        # filter out duplicate domain docs
        for domain in Domain.get_all():
            if domain.name in domains_by_name:
                latest_domain = fetch_latest_doc(
                    domain.get_id, domains_by_name[domain.name].get_id)
                domains_by_name[domain.name] = latest_domain
            else:
                domains_by_name[domain.name] = domain
        for domain in domains_by_name.values():
            for monthspan in self.monthspan_list:
                gir_dict = GIRTableGenerator.get_gir_dict_for_domain_and_monthspan(
                    domain, monthspan)
                rows.append(gir_dict)
        GIRRow.objects.bulk_create([GIRRow(**gir_row) for gir_row in rows])