Skip to content

Commit b08b400

Browse files
authored
Merge pull request #362 from jepler/fix-ratelimit-timezone
Fix ratelimit timezone
2 parents e55f7f5 + f2daf93 commit b08b400

4 files changed

+9
-4
lines changed

adabot/circuitpython_libraries.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ def run_library_checks(validators, kw_args, error_depth):
257257
break
258258
except pygithub.RateLimitExceededException:
259259
core_rate_limit_reset = GH_INTERFACE.get_rate_limit().core.reset
260-
sleep_time = core_rate_limit_reset - datetime.datetime.now()
260+
sleep_time = core_rate_limit_reset - datetime.datetime.utcnow()
261261
logging.warning("Rate Limit will reset at: %s", core_rate_limit_reset)
262262
time.sleep(sleep_time.seconds)
263263
continue

adabot/github_requests.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ def request(method, url, **kwargs):
9292
logging.warning(
9393
"GitHub API Rate Limit reached. Pausing until Rate Limit reset."
9494
)
95+
# This datetime.now() is correct, *because* `fromtimestamp` above
96+
# converts the timestamp into local time, same as now(). This is
97+
# different than the sites that use GH_INTERFACE.get_rate_limit, in
98+
# which the rate limit is a UTC time, so it has to be compared to
99+
# utcnow.
95100
while datetime.datetime.now() < rate_limit_reset:
96101
logging.warning("Rate Limit will reset at: %s", rate_limit_reset)
97102
reset_diff = rate_limit_reset - datetime.datetime.now()

adabot/lib/bundle_announcer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def get_bundle_updates(full_repo_name: str) -> Tuple[Set[RepoResult], Set[RepoRe
8080

8181
except pygithub.RateLimitExceededException:
8282
core_rate_limit_reset = GH_INTERFACE.get_rate_limit().core.reset
83-
sleep_time = core_rate_limit_reset - datetime.datetime.now()
83+
sleep_time = core_rate_limit_reset - datetime.datetime.utcnow()
8484
logging.warning("Rate Limit will reset at: %s", core_rate_limit_reset)
8585
time.sleep(sleep_time.seconds)
8686
continue

adabot/lib/circuitpython_library_validators.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ def validate_readthedocs(self, repo):
916916
break
917917
except pygithub.RateLimitExceededException:
918918
core_rate_limit_reset = GH_INTERFACE.get_rate_limit().core.reset
919-
sleep_time = core_rate_limit_reset - datetime.datetime.now()
919+
sleep_time = core_rate_limit_reset - datetime.datetime.utcnow()
920920
logging.warning("Rate Limit will reset at: %s", core_rate_limit_reset)
921921
time.sleep(sleep_time.seconds)
922922
continue
@@ -1275,7 +1275,7 @@ def validate_actions_state(self, repo):
12751275
return []
12761276
except pygithub.RateLimitExceededException:
12771277
core_rate_limit_reset = GH_INTERFACE.get_rate_limit().core.reset
1278-
sleep_time = core_rate_limit_reset - datetime.datetime.now()
1278+
sleep_time = core_rate_limit_reset - datetime.datetime.utcnow()
12791279
logging.warning("Rate Limit will reset at: %s", core_rate_limit_reset)
12801280
time.sleep(sleep_time.seconds)
12811281

0 commit comments

Comments
 (0)