Skip to content

Commit 6366d40

Browse files
committed
Fix error using pickle
Signed-off-by: Dave Rodgman <[email protected]>
1 parent 55dc5e5 commit 6366d40

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

pr-metrics/get-pr-data.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
import pickle
77
import os
8+
import requests.exceptions
9+
import time
810

911
from github import Github
1012

@@ -38,4 +40,13 @@
3840
p.update()
3941

4042
with open("pr-data.p", "wb") as f:
41-
pickle.dump(prs, f)
43+
for i, p in enumerate(prs):
44+
for retry in range(0, 9):
45+
try:
46+
g.dump(p, f)
47+
break
48+
except requests.exceptions.ReadTimeout:
49+
delay = 2 ** retry
50+
print(f"timeout; sleeping {delay} s and retrying...")
51+
time.sleep(2 ** delay)
52+
print(f"saved {i+1}/{len(prs)}")

pr-metrics/prs.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,16 @@
66
import pickle
77
import datetime
88
import os
9+
from github import Github
910

11+
prs = []
1012
with open("pr-data.p", "rb") as f:
11-
prs = pickle.load(f)
12-
13+
g = Github()
14+
try:
15+
while True:
16+
prs.append(g.load(f))
17+
except EOFError:
18+
pass
1319

1420
# Current and past core contributors, alphabetical order (sort -f).
1521
#

0 commit comments

Comments
 (0)