@@ -20,9 +20,12 @@ def read_file_to_string(filename):
20
20
f .close ()
21
21
return s
22
22
23
- def parse_file (filename ):
23
+ def parse_file (filename , input = "file" ):
24
24
global c , d
25
- tree = ast .parse (read_file_to_string (filename ), filename )
25
+ if input == "file" :
26
+ tree = ast .parse (read_file_to_string (filename ), filename )
27
+ else :
28
+ tree = ast .parse (filename )
26
29
27
30
json_tree = []
28
31
def gen_identifier (identifier , node_type = 'identifier' ):
@@ -56,7 +59,7 @@ def traverse(node):
56
59
elif isinstance (node , ast .Num ):
57
60
json_node ['value' ] = unicode (node .n )
58
61
elif isinstance (node , ast .Str ):
59
- json_node ['value' ] = node .s #.decode('utf-8')
62
+ json_node ['value' ] = "string" # node.s #.decode('utf-8')
60
63
elif isinstance (node , ast .alias ):
61
64
json_node ['value' ] = unicode (node .name )
62
65
if node .asname :
@@ -73,6 +76,8 @@ def traverse(node):
73
76
children .append (gen_identifier (n ))
74
77
elif isinstance (node , ast .keyword ):
75
78
json_node ['value' ] = unicode (node .arg )
79
+ elif isinstance (node , ast .arg ):
80
+ children .append (gen_identifier (node .arg ))
76
81
77
82
78
83
# Process children.
@@ -88,10 +93,12 @@ def traverse(node):
88
93
if node .orelse :
89
94
children .append (traverse_list (node .orelse , 'orelse' ))
90
95
elif isinstance (node , ast .With ):
96
+ children .append (traverse_list (node .items , 'items' ))
97
+ children .append (traverse_list (node .body , 'body' ))
98
+ elif isinstance (node , ast .withitem ):
91
99
children .append (traverse (node .context_expr ))
92
100
if node .optional_vars :
93
101
children .append (traverse (node .optional_vars ))
94
- children .append (traverse_list (node .body , 'body' ))
95
102
elif isinstance (node , ast .Try ): # Except
96
103
children .append (traverse_list (node .body , 'body' ))
97
104
children .append (traverse_list (node .handlers , 'handlers' ))
@@ -106,14 +113,14 @@ def traverse(node):
106
113
children .append (traverse_list (node .args , 'args' ))
107
114
children .append (traverse_list (node .defaults , 'defaults' ))
108
115
if node .vararg :
109
- children .append (gen_identifier (node .vararg , 'vararg' ))
116
+ children .append (traverse (node .vararg ))
110
117
if node .kwarg :
111
- children .append (gen_identifier (node .kwarg , 'kwarg' ))
118
+ children .append (traverse (node .kwarg ))
112
119
elif isinstance (node , ast .ExceptHandler ):
113
120
if node .type :
114
121
children .append (traverse_list ([node .type ], 'type' ))
115
122
if node .name :
116
- children .append (traverse_list ([ node .name ] , 'name' ))
123
+ children .append (gen_identifier ( node .name , 'name' ))
117
124
children .append (traverse_list (node .body , 'body' ))
118
125
elif isinstance (node , ast .ClassDef ):
119
126
children .append (traverse_list (node .bases , 'bases' ))
0 commit comments