14
14
15
15
url = API_ENDPOINT + 'api/-/search?size=100'
16
16
17
- def get_all_extensions ():
17
+ def retrieve_extensions ():
18
18
extensions = []
19
19
done = False
20
20
offset = 0
@@ -31,35 +31,43 @@ def get_all_extensions():
31
31
except Exception as e :
32
32
print ("%s: %s" % (datetime .now (), e ))
33
33
done = True
34
-
34
+
35
+ return extensions
36
+
37
+ def get_extension (extension ):
38
+ extension_url = API_ENDPOINT + 'api/%s/%s' % (extension ['namespace' ], extension ['name' ])
39
+ retry_count = 5
40
+ while retry_count > 0 :
41
+ try :
42
+ response = requests .get (extension_url )
43
+ if response .status_code == 200 :
44
+ return response .json ()
45
+ else :
46
+ raise Exception ('%s: HTTP %s Error retrieving %s' % (datetime .now (), response .status_code ,extension ['url' ]))
47
+ except Exception as e :
48
+ print ("%s: %s" % (datetime .now (), e ))
49
+ retry_count -= 1
50
+ time .sleep (2 )
51
+
52
+ return None
53
+
54
+ def get_all_extensions ():
35
55
count = 1
36
56
all_extensions = []
57
+ extensions = retrieve_extensions ()
37
58
print ("\n \n Starting: %s" % datetime .now ())
38
59
for extension in extensions :
39
- namespace_url = API_ENDPOINT + 'api/%s/%s' % (extension ['namespace' ], extension ['name' ])
40
- retry_count = 5
41
- while retry_count > 0 :
42
- try :
43
- response = requests .get (namespace_url )
44
- if response .status_code == 200 :
45
- break
46
- else :
47
- raise Exception ('%s: HTTP %s Error retrieving %s' % (datetime .now (), response .status_code ,extension ['url' ]))
48
- except Exception as e :
49
- print ("%s: %s" % (datetime .now (), e ))
50
- retry_count -= 1
51
- time .sleep (2 )
52
- if retry_count == 0 :
60
+ results = get_extension (extension )
61
+ if results is None :
53
62
print ('Error retrieving %s' % extension ['url' ])
54
63
else :
55
- results = response .json ()
56
64
all_extensions .append (results )
57
65
if int (count / 100 ) == count / 100 :
58
66
print ('Processed %s of %s.' % (count , len (extensions )))
59
67
count += 1
60
68
print ("\n \n Finished %s API Calls: %s" % (count , datetime .now ()))
61
69
62
- return ( all_extensions )
70
+ return all_extensions
63
71
64
72
def get_all_by_license ():
65
73
extensions_by_license = {}
@@ -75,7 +83,7 @@ def get_all_by_license():
75
83
print ('Processed %s of %s.' % (count , len (all_extensions )))
76
84
count += 1
77
85
78
- return ( dict (sorted (extensions_by_license .items () )))
86
+ return dict (sorted (extensions_by_license .items ()))
79
87
80
88
def write_json_file (extensions ):
81
89
f = open (JSON_FILENAME , 'w' )
0 commit comments