in bot/tools/fix_missing.py [0:0]
def list_diffs(min_date, max_date):
url = BACKEND_URL
revisions = []
updates = {}
while True:
resp = requests.get(url, headers=GetAppUserAgent())
resp.raise_for_status()
data = resp.json()
for diff in data["results"]:
# Limit to specific dates
date = datetime.strptime(diff["created"], "%Y-%m-%dT%H:%M:%S.%fZ")
if date >= max_date:
continue
if date < min_date:
return revisions, updates
# Save revision
revisions.append(diff["mercurial_hash"])
# Save best date for a Phabricator revision
last_date = updates.get(diff["revision"]["id"])
if last_date is None or last_date < date:
updates[diff["revision"]["id"]] = date
# Move to next page
url = data["next"]