def test_count_downloads_for_all_snapshots(self): counts = [5, 12, 10] for count in counts: copy = self.project.save_snapshot(share_reminders=False, copy_by_id=set()) copy.downloads = count copy.save() self.assertEqual( count_downloads_for_all_snapshots(self.project.get_id), sum(counts))
def transform_domain_for_elasticsearch(doc_dict): doc_ret = copy.deepcopy(doc_dict) sub = Subscription.objects.filter(subscriber__domain=doc_dict['name'], is_active=True) doc_ret['deployment'] = doc_ret.get('deployment', None) or {} countries = doc_ret['deployment'].get('countries', []) doc_ret['deployment']['countries'] = [] if sub: doc_ret['subscription'] = sub[0].plan_version.plan.edition for country in countries: doc_ret['deployment']['countries'].append(COUNTRIES[country].upper()) if doc_dict.get('copy_history'): doc_ret['full_downloads'] = count_downloads_for_all_snapshots(doc_dict['copy_history'][-1]) return doc_ret
def total_downloads(self): """ Returns the total number of downloads from every snapshot created from this domain """ from corehq.apps.domain.dbaccessors import count_downloads_for_all_snapshots return count_downloads_for_all_snapshots(self.get_id)