def addon_last_updated(): next = {} for q in Addon._last_updated_queries().values(): for addon, last_updated in q.values_list("id", "last_updated"): next[addon] = last_updated _change_last_updated(next) # Get anything that didn't match above. other = Addon.objects.no_cache().filter(last_updated__isnull=True).values_list("id", "created") _change_last_updated(dict(other))
def addon_last_updated(): next = {} for q in Addon._last_updated_queries().values(): for addon, last_updated in q.values_list('id', 'last_updated'): next[addon] = last_updated _change_last_updated(next) # Get anything that didn't match above. other = Addon.objects.filter(last_updated__isnull=True).values_list('id', 'created') _change_last_updated(dict(other))
def addon_last_updated(): next = {} for q in Addon._last_updated_queries().values(): for addon, last_updated in q.values_list('id', 'last_updated'): next[addon] = last_updated _change_last_updated(next) # Get anything that didn't match above. other = (Addon.objects.filter(last_updated__isnull=True) .values_list('id', 'created')) _change_last_updated(dict(other))
def compute_last_updated(addon): """Compute the value of last_updated for a single add-on.""" from olympia.addons.models import Addon queries = Addon._last_updated_queries() if addon.status == amo.STATUS_APPROVED: q = 'public' else: q = 'exp' values = (queries[q].filter(pk=addon.pk).using('default').values_list( 'last_updated', flat=True)) return values[0] if values else None
def update_last_updated(addon_id): queries = Addon._last_updated_queries() try: addon = Addon.objects.get(pk=addon_id) except Addon.DoesNotExist: log.info('[1@None] Updating last updated for %s failed, no addon found' % addon_id) return log.info('[1@None] Updating last updated for %s.' % addon_id) if addon.status == amo.STATUS_APPROVED: q = 'public' else: q = 'exp' qs = queries[q].filter(pk=addon_id).using('default') res = qs.values_list('id', 'last_updated') if res: pk, t = res[0] Addon.objects.filter(pk=pk).update(last_updated=t)
def update_last_updated(addon_id): queries = Addon._last_updated_queries() try: addon = Addon.objects.get(pk=addon_id) except Addon.DoesNotExist: log.info('[1@None] Updating last updated for %s failed, no addon found' % addon_id) return log.info('[1@None] Updating last updated for %s.' % addon_id) if addon.is_persona(): q = 'personas' elif addon.status == amo.STATUS_PUBLIC: q = 'public' else: q = 'exp' qs = queries[q].filter(pk=addon_id).using('default') res = qs.values_list('id', 'last_updated') if res: pk, t = res[0] Addon.objects.filter(pk=pk).update(last_updated=t)