3
3
import json
4
4
5
5
6
- def _parse_ast (contents ):
6
+ def _analyze_ast (contents ):
7
7
try :
8
8
return ast .literal_eval (contents )
9
9
except SyntaxError :
@@ -26,7 +26,7 @@ def _parse_ast(contents):
26
26
return False
27
27
28
28
29
- def _parse_manual (contents ):
29
+ def _analyze_manual (contents ):
30
30
capabilities = {}
31
31
32
32
code_lines = contents .split ('\n ' )
@@ -177,17 +177,35 @@ def _parse_manual(contents):
177
177
return capabilities
178
178
179
179
180
- def get_desired_capabilities ( cap_file ):
181
- f = open (cap_file , 'r' )
182
- all_code = f .read ()
180
+ def _read_file ( file ):
181
+ f = open (file , 'r' )
182
+ data = f .read ()
183
183
f .close ()
184
184
185
+ return data
186
+
187
+
188
+ def _parse_py_file (cap_file ):
189
+ all_code = _read_file (cap_file )
190
+ capabilities = _analyze_ast (all_code )
191
+
192
+ if not capabilities :
193
+ capabilities = _analyze_manual (all_code )
194
+
195
+ return capabilities
196
+
197
+
198
+ def _parse_json_file (cap_file ):
199
+ all_code = _read_file (cap_file )
200
+
201
+ return json .loads (all_code )
202
+
203
+
204
+ def get_desired_capabilities (cap_file ):
185
205
if cap_file .endswith ('.py' ):
186
- capabilities = _parse_ast (all_code )
187
- if not capabilities :
188
- capabilities = _parse_manual (all_code )
206
+ capabilities = _parse_py_file (cap_file )
189
207
elif cap_file .endswith ('.json' ):
190
- capabilities = json . loads ( all_code )
208
+ capabilities = _parse_json_file ( cap_file )
191
209
else :
192
210
raise Exception ("\n \n `%s` is not a Python or JSON file!\n " % cap_file )
193
211
0 commit comments