in jobs/update_orphaning_dashboard_etl.py [0:0]
def has_min_update_ping_count_mapper(d):
ping = d
index = 0
update_ping_count_total = 0
current_version = ping.version[0]
while (update_ping_count_total < min_update_ping_count and
index < len(ping.update_ping_count_notify) and
index < len(ping.version) and
ping.version[index] == current_version):
pingCount = ping.update_ping_count_notify[index]
# Is this an update ping or just a placeholder for the telemetry ping?
if pingCount > 0:
try:
date = dt.datetime.strptime(ping.subsession_start_date[index][:10],
"%Y-%m-%d").date()
if date < min_subsession_date:
return False, ping
except: # catch *all* exceptions
index += 1
continue
# Is there also a valid update check code or no update telemetry ping?
if (ping.update_check_code_notify is not None and
len(ping.update_check_code_notify) > index):
for code_value in ping.update_check_code_notify[index]:
if code_value > 0:
update_ping_count_total += pingCount
index += 1
continue
if (ping.update_check_no_update_notify is not None and
len(ping.update_check_no_update_notify) > index and
ping.update_check_no_update_notify[index] > 0):
update_ping_count_total += pingCount
index += 1
if update_ping_count_total < min_update_ping_count:
return False, ping
return True, ping