lambda-graphs 0.1.4__py3-none-any.whl → 0.1.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
lambda_graphs/cli.py CHANGED
@@ -41,7 +41,7 @@ def main(
41
41
  help="Custom name for combined file (without extension), e.g., 'myproject'",
42
42
  ),
43
43
  graphs: str = typer.Option("ast,dfg", help="ast, cfg, dfg"),
44
- output: str = typer.Option("dot", help="all/json/dot (dot generates png as well)"),
44
+ output: str = typer.Option("dot", help="all/json/dot/svg (dot generates png as well)"),
45
45
  blacklisted: str = typer.Option("", help="Nodes to be removed from the AST"),
46
46
  collapsed: bool = typer.Option(
47
47
  False, help="Collapses all occurrences of a variable into one node"
@@ -65,13 +65,27 @@ class DfgRda:
65
65
  self.graph,
66
66
  output_file.rsplit(".", 1)[0] + ".dot",
67
67
  output_png=True,
68
+ output_svg=(graph_format == "all"),
68
69
  src_language=self.src_language,
69
70
  )
70
- if graph_format == "all" or graph_format == "dot":
71
71
  postprocessor.write_to_dot(
72
72
  self.debug_graph,
73
73
  output_file.rsplit(".", 1)[0] + "_debug.dot",
74
74
  output_png=True,
75
+ output_svg=(graph_format == "all"),
76
+ src_language=self.src_language,
77
+ )
78
+ if graph_format == "svg":
79
+ postprocessor.write_to_dot(
80
+ self.graph,
81
+ output_file.rsplit(".", 1)[0] + ".dot",
82
+ output_svg=True,
83
+ src_language=self.src_language,
84
+ )
85
+ postprocessor.write_to_dot(
86
+ self.debug_graph,
87
+ output_file.rsplit(".", 1)[0] + "_debug.dot",
88
+ output_svg=True,
75
89
  src_language=self.src_language,
76
90
  )
77
91
  self.json = postprocessor.write_networkx_to_json(self.graph, output_file)
@@ -52,6 +52,14 @@ class CombinedDriver:
52
52
  self.graph,
53
53
  output_file.split(".")[0] + ".dot",
54
54
  output_png=True,
55
+ output_svg=(graph_format == "all"),
56
+ src_language=self.src_language,
57
+ )
58
+ if graph_format == "svg":
59
+ postprocessor.write_to_dot(
60
+ self.graph,
61
+ output_file.split(".")[0] + ".dot",
62
+ output_svg=True,
55
63
  src_language=self.src_language,
56
64
  )
57
65
 
@@ -27,7 +27,7 @@ def to_dot(graph):
27
27
  return nx.nx_pydot.to_pydot(graph)
28
28
 
29
29
 
30
- def write_to_dot(og_graph, filename, output_png=False, src_language=None):
30
+ def write_to_dot(og_graph, filename, output_png=False, output_svg=False, src_language=None):
31
31
  graph = copy.deepcopy(og_graph)
32
32
  if not os.getenv("GITHUB_ACTIONS"):
33
33
  dot_reserved_keywords = {
@@ -81,3 +81,7 @@ def write_to_dot(og_graph, filename, output_png=False, src_language=None):
81
81
  check_call(
82
82
  ["dot", "-Tpng", filename, "-o", filename.rsplit(".", 1)[0] + ".png"]
83
83
  )
84
+ if output_svg:
85
+ check_call(
86
+ ["dot", "-Tsvg", filename, "-o", filename.rsplit(".", 1)[0] + ".svg"]
87
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambda-graphs
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Generate combined multi-code view graphs
5
5
  Home-page: https://github.com/PrinOrange/lambda-graphs
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  lambda_graphs/__init__.py,sha256=S2v6SCVa7xEjnOZQneNVt1DyVOya1CBRAxz2bxJfqkg,503
2
2
  lambda_graphs/__main__.py,sha256=pqqaM3Xr6Ypfhy0Y8xUxkPT-hKy9L_Erl9X08cZHT3o,106
3
- lambda_graphs/cli.py,sha256=HsUd68wBhuYkGaqZNJnIpBRmDGyeFCnMy_MzTjGOKm0,5557
3
+ lambda_graphs/cli.py,sha256=q3YbV1a3PbSvKu7NG1RuUf9Lh1elAccu5CDMN5udkKM,5561
4
4
  lambda_graphs/codeviews/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  lambda_graphs/codeviews/AST/AST.py,sha256=1CQyadl9_3lRK5qkX-UzBdmzn_6Q9fahdluGELZrLAQ,4270
6
6
  lambda_graphs/codeviews/AST/AST_driver.py,sha256=rmhodB78EeUhq04o0Vy81fY93FwT4vS7UgiF0JOWClw,1138
@@ -15,13 +15,13 @@ lambda_graphs/codeviews/CST/CST_driver.py,sha256=1LLax-qYbl_63DDnCnQo8qeLOoFDc5P
15
15
  lambda_graphs/codeviews/CST/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  lambda_graphs/codeviews/DFG/DFG_driver.py,sha256=iLi2H94TQFN-trXxpfaVcz7NzMeGc-zq3vdHs1L9rGs,1333
17
17
  lambda_graphs/codeviews/DFG/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- lambda_graphs/codeviews/SDFG/SDFG.py,sha256=fvIhr6uUuYBmUkrFae7x8b88H-tuuZGINaundZab10E,4304
18
+ lambda_graphs/codeviews/SDFG/SDFG.py,sha256=_qCbJ9WRC8XTLzZYvlITucetSoFZNvbJRVewt1gN710,4889
19
19
  lambda_graphs/codeviews/SDFG/SDFG_c.py,sha256=2SXLh4flQ_7aHFAqvE6xdMqZ8HY07aqmDNNMADqvBVE,80365
20
20
  lambda_graphs/codeviews/SDFG/SDFG_cpp.py,sha256=PsQcTVNyFziXEKgAosiL2Uq6rHORBUSr-LwVLTGhSZU,158990
21
21
  lambda_graphs/codeviews/SDFG/SDFG_java.py,sha256=ug2IHsd0D5dfIvQsCuS2PROft703b65AJeyUyYC0_zw,67012
22
22
  lambda_graphs/codeviews/SDFG/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  lambda_graphs/codeviews/combined_graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- lambda_graphs/codeviews/combined_graph/combined_driver.py,sha256=e_GjoRfl5IcEcQ56JGp3Jn71sJkI2S4CKysyS70lH5M,5490
24
+ lambda_graphs/codeviews/combined_graph/combined_driver.py,sha256=pgj9kP-_PoIH2vOgcmMBFiDRSrpK_LQHEWQkGEHtJkM,5823
25
25
  lambda_graphs/tree_parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  lambda_graphs/tree_parser/c_parser.py,sha256=ekvA_LTZjalNvzW7LyG27hZOLRh6zzIo-ypR8kCmyrg,21926
27
27
  lambda_graphs/tree_parser/cpp_parser.py,sha256=CZ6q0_O5t09HAIBtlfPp1MhUQwbwW49rmaoMCuN0lek,15617
@@ -34,12 +34,12 @@ lambda_graphs/utils/c_nodes.py,sha256=_01qu1oRMS_bdsl9KNTfl89doQ21qqZdyXNz8yBaFp
34
34
  lambda_graphs/utils/cpp_nodes.py,sha256=1LhL78EOHjGyDQnCi1Tb6bPfpUEAFb_TGJU_GVfh7vg,49242
35
35
  lambda_graphs/utils/java_nodes.py,sha256=mx3zlhMzZTv0vDvvxKWOagfL1YcopMWXga-OEiJHS_s,27637
36
36
  lambda_graphs/utils/multi_file_merger.py,sha256=w4n5YpO9-m87wT8vX93L47mDnqW2pGHo_MxV7E2Vhqw,15623
37
- lambda_graphs/utils/postprocessor.py,sha256=wVdKWhZ1EyFJjkiRm4V9i2ToOLsiz0hEbqudKRAbPKQ,2583
37
+ lambda_graphs/utils/postprocessor.py,sha256=9sJQygyM9AuSkIxtMbxu2eIB82ayPF3P1ZfJS1XZ6vA,2748
38
38
  lambda_graphs/utils/preprocessor.py,sha256=tNNvCqBrXkfIEt4dj31Zv3eYrWcdxA4d0emdi0BBJeQ,1991
39
39
  lambda_graphs/utils/src_parser.py,sha256=KI8jp1rGy92FDU6ZSAyvAlTXIqRvwaBU8Nyk1_PLQc0,630
40
- lambda_graphs-0.1.4.dist-info/licenses/LICENSE,sha256=A4IQBtKltZRdmeznEO-WkeUNgar9pYrAnnqgwuPM7eo,1078
41
- lambda_graphs-0.1.4.dist-info/METADATA,sha256=lsLn3OI8ztoYrjIUkmtcH60WMdXeKuN_uoGwWMsY8ww,12293
42
- lambda_graphs-0.1.4.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
43
- lambda_graphs-0.1.4.dist-info/entry_points.txt,sha256=hELYD6w17o_ccUXd3p97Dx8-aBj123HLc1to4otGONo,56
44
- lambda_graphs-0.1.4.dist-info/top_level.txt,sha256=BeOCfsbh498OkGRd1Bc8Z5HnUp_C3KfpOJ7u_dbd9Qk,14
45
- lambda_graphs-0.1.4.dist-info/RECORD,,
40
+ lambda_graphs-0.1.5.dist-info/licenses/LICENSE,sha256=A4IQBtKltZRdmeznEO-WkeUNgar9pYrAnnqgwuPM7eo,1078
41
+ lambda_graphs-0.1.5.dist-info/METADATA,sha256=xTslTLq9s3jAorkj6fTTPytlT54szj4H3tqgRq7IjV0,12293
42
+ lambda_graphs-0.1.5.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
43
+ lambda_graphs-0.1.5.dist-info/entry_points.txt,sha256=hELYD6w17o_ccUXd3p97Dx8-aBj123HLc1to4otGONo,56
44
+ lambda_graphs-0.1.5.dist-info/top_level.txt,sha256=BeOCfsbh498OkGRd1Bc8Z5HnUp_C3KfpOJ7u_dbd9Qk,14
45
+ lambda_graphs-0.1.5.dist-info/RECORD,,