cyyeh commited on
Commit
9e1e29c
·
1 Parent(s): 5be8a2b

fix parsing python_files bug

Browse files
py_code_analyzer/code_imports_analyzer.py CHANGED
@@ -36,7 +36,7 @@ async def get_program_text(session, python_file):
36
  if response.status == 200:
37
  data = await response.json()
38
  if data["encoding"] == "base64":
39
- return data["content"]
40
  else:
41
  print(
42
  f"WARNING: {python_file['path']}'s encoding is {data['encoding']}, not base64"
@@ -72,20 +72,20 @@ class CodeImportsAnalyzer:
72
  async with aiohttp.ClientSession() as session:
73
  tasks = []
74
  for python_file in self.python_files:
75
- self.python_imports += [
76
- {
77
- "file_name": python_file["path"].split("/")[-1],
78
- "file_path": python_file["path"],
79
- "imports": [],
80
- }
81
- ]
82
  tasks.append(
83
  asyncio.ensure_future(get_program_text(session, python_file))
84
  )
85
 
86
- base64_program_texts = await asyncio.gather(*tasks)
87
- for base64_program_text in base64_program_texts:
88
  if base64_program_text:
 
 
 
 
 
 
 
89
  program = pybase64.b64decode(base64_program_text)
90
  tree = ast.parse(program)
91
  self._node_visitor.visit(tree)
 
36
  if response.status == 200:
37
  data = await response.json()
38
  if data["encoding"] == "base64":
39
+ return data["content"], python_file["path"]
40
  else:
41
  print(
42
  f"WARNING: {python_file['path']}'s encoding is {data['encoding']}, not base64"
 
72
  async with aiohttp.ClientSession() as session:
73
  tasks = []
74
  for python_file in self.python_files:
 
 
 
 
 
 
 
75
  tasks.append(
76
  asyncio.ensure_future(get_program_text(session, python_file))
77
  )
78
 
79
+ results = await asyncio.gather(*tasks)
80
+ for base64_program_text, python_file_path in results:
81
  if base64_program_text:
82
+ self.python_imports += [
83
+ {
84
+ "file_name": python_file_path.split("/")[-1],
85
+ "file_path": python_file_path,
86
+ "imports": [],
87
+ }
88
+ ]
89
  program = pybase64.b64decode(base64_program_text)
90
  tree = ast.parse(program)
91
  self._node_visitor.visit(tree)