@@ -141,6 +141,31 @@ def main(cli_args=None):
141
141
),
142
142
)
143
143
144
+ parser .add_argument (
145
+ "--dot-ranksep" ,
146
+ default = "0.5" ,
147
+ dest = "ranksep" ,
148
+ help = (
149
+ "specifies the dot graph 'ranksep' property for "
150
+ "controlling desired rank separation, in inches. "
151
+ "Allowed values: [0.02 .. 1000.0]. "
152
+ "[dot only]"
153
+ ),
154
+ )
155
+
156
+ parser .add_argument (
157
+ "--graphviz-layout" ,
158
+ default = "dot" ,
159
+ dest = "layout" ,
160
+ help = (
161
+ "specifies the graphviz 'layout' property for "
162
+ "the name of the layout algorithm to use. "
163
+ "Allowed values: ['dot', 'neato', 'fdp', 'sfdp', 'twopi', 'circo']. "
164
+ "Recommended values: ['dot', 'fdp']. "
165
+ "[graphviz only]"
166
+ ),
167
+ )
168
+
144
169
parser .add_argument (
145
170
"-a" ,
146
171
"--annotated" ,
@@ -159,9 +184,15 @@ def main(cli_args=None):
159
184
160
185
known_args , unknown_args = parser .parse_known_args (cli_args )
161
186
162
- filenames = [fn2 for fn in unknown_args for fn2 in glob (fn , recursive = True )]
187
+ filenames = []
188
+
189
+ for fn in unknown_args :
190
+ for fn2 in glob (fn , recursive = True ):
191
+ abs_fn2 = os .path .abspath (fn2 )
192
+ filenames .append (abs_fn2 )
163
193
164
194
# determine root
195
+
165
196
if known_args .root is not None :
166
197
root = os .path .abspath (known_args .root )
167
198
else :
@@ -203,7 +234,12 @@ def main(cli_args=None):
203
234
handler = logging .FileHandler (known_args .logname )
204
235
logger .addHandler (handler )
205
236
206
- v = CallGraphVisitor (filenames , logger = logger , root = root )
237
+ logger .debug (f"[files] { unknown_args } " )
238
+
239
+ if root :
240
+ root = os .path .abspath (root )
241
+
242
+ v = CallGraphVisitor (filenames , logger = logger , root = root ) # type: ignore
207
243
208
244
if known_args .function or known_args .namespace :
209
245
@@ -222,13 +258,40 @@ def main(cli_args=None):
222
258
writer = None
223
259
224
260
if known_args .dot :
225
- writer = DotWriter (graph , options = ["rankdir=" + known_args .rankdir ], output = known_args .filename , logger = logger )
261
+ writer = DotWriter (
262
+ graph ,
263
+ options = [
264
+ "rankdir=" + known_args .rankdir ,
265
+ "ranksep=" + known_args .ranksep ,
266
+ "layout=" + known_args .layout ,
267
+ ],
268
+ output = known_args .filename ,
269
+ logger = logger ,
270
+ )
226
271
227
272
if known_args .html :
228
- writer = HTMLWriter (graph , options = ["rankdir=" + known_args .rankdir ], output = known_args .filename , logger = logger )
273
+ writer = HTMLWriter (
274
+ graph ,
275
+ options = [
276
+ "rankdir=" + known_args .rankdir ,
277
+ "ranksep=" + known_args .ranksep ,
278
+ "layout=" + known_args .layout ,
279
+ ],
280
+ output = known_args .filename ,
281
+ logger = logger ,
282
+ )
229
283
230
284
if known_args .svg :
231
- writer = SVGWriter (graph , options = ["rankdir=" + known_args .rankdir ], output = known_args .filename , logger = logger )
285
+ writer = SVGWriter (
286
+ graph ,
287
+ options = [
288
+ "rankdir=" + known_args .rankdir ,
289
+ "ranksep=" + known_args .ranksep ,
290
+ "layout=" + known_args .layout ,
291
+ ],
292
+ output = known_args .filename ,
293
+ logger = logger ,
294
+ )
232
295
233
296
if known_args .tgf :
234
297
writer = TgfWriter (graph , output = known_args .filename , logger = logger )
0 commit comments