@@ -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,7 +184,12 @@ 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
+
188
+ filenames = []
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
165
195
if known_args .root is not None :
@@ -203,6 +233,11 @@ def main(cli_args=None):
203
233
handler = logging .FileHandler (known_args .logname )
204
234
logger .addHandler (handler )
205
235
236
+ logger .debug (f"[files] { unknown_args } " )
237
+
238
+ if root :
239
+ root = os .path .abspath (root )
240
+
206
241
v = CallGraphVisitor (filenames , logger = logger , root = root )
207
242
208
243
if known_args .function or known_args .namespace :
@@ -222,13 +257,25 @@ def main(cli_args=None):
222
257
writer = None
223
258
224
259
if known_args .dot :
225
- writer = DotWriter (graph , options = ["rankdir=" + known_args .rankdir ], output = known_args .filename , logger = logger )
260
+ writer = DotWriter (graph , options = [
261
+ "rankdir=" + known_args .rankdir ,
262
+ "ranksep=" + known_args .ranksep ,
263
+ "layout=" + known_args .layout ,
264
+ ], output = known_args .filename , logger = logger )
226
265
227
266
if known_args .html :
228
- writer = HTMLWriter (graph , options = ["rankdir=" + known_args .rankdir ], output = known_args .filename , logger = logger )
267
+ writer = HTMLWriter (graph , options = [
268
+ "rankdir=" + known_args .rankdir ,
269
+ "ranksep=" + known_args .ranksep ,
270
+ "layout=" + known_args .layout ,
271
+ ], output = known_args .filename , logger = logger )
229
272
230
273
if known_args .svg :
231
- writer = SVGWriter (graph , options = ["rankdir=" + known_args .rankdir ], output = known_args .filename , logger = logger )
274
+ writer = SVGWriter (graph , options = [
275
+ "rankdir=" + known_args .rankdir ,
276
+ "ranksep=" + known_args .ranksep ,
277
+ "layout=" + known_args .layout ,
278
+ ], output = known_args .filename , logger = logger )
232
279
233
280
if known_args .tgf :
234
281
writer = TgfWriter (graph , output = known_args .filename , logger = logger )
0 commit comments