mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 00:35:00 +00:00
wip
This commit is contained in:
parent
2a28c9453c
commit
0ab7d0c1f1
1 changed files with 11 additions and 15 deletions
|
@ -244,15 +244,15 @@ def call_map():
|
|||
|
||||
idents = set(defines.keys()).intersection(set(references.keys()))
|
||||
|
||||
dot = graphviz.Digraph(graph_attr={'ratio': '.5'})
|
||||
dot = graphviz.Digraph(graph_attr={"ratio": ".5"})
|
||||
|
||||
labels = defaultdict(list)
|
||||
edges = defaultdict(float)
|
||||
for ident in idents:
|
||||
defs = defines[ident]
|
||||
num_defs = len(defs)
|
||||
# if num_defs > 1:
|
||||
# continue
|
||||
if num_defs > 3:
|
||||
continue
|
||||
|
||||
for referencer, num_refs in Counter(references[ident]).items():
|
||||
dump(referencer, ident, num_refs)
|
||||
|
@ -262,7 +262,7 @@ def call_map():
|
|||
# tuple(sorted([referencer, definer]))
|
||||
name = referencer, definer
|
||||
edges[name] += num_refs / num_defs
|
||||
labels[name].append(ident)
|
||||
labels[name].append((num_refs, ident))
|
||||
|
||||
G = nx.DiGraph()
|
||||
|
||||
|
@ -276,7 +276,7 @@ def call_map():
|
|||
nodes_to_remove = [node for node in G.nodes if node not in top_10_nodes]
|
||||
G.remove_nodes_from(nodes_to_remove)
|
||||
|
||||
'''
|
||||
"""
|
||||
# drop low weight edges for plotting
|
||||
edges_to_remove = [
|
||||
(node1, node2) for node1, node2, data in G.edges(data=True) if data["weight"] < 1
|
||||
|
@ -284,7 +284,7 @@ def call_map():
|
|||
G.remove_edges_from(edges_to_remove)
|
||||
# Remove isolated nodes (nodes with no edges)
|
||||
G.remove_nodes_from(list(nx.isolates(G)))
|
||||
'''
|
||||
"""
|
||||
|
||||
max_rank = max(ranked.values())
|
||||
min_rank = min(ranked.values())
|
||||
|
@ -293,7 +293,7 @@ def call_map():
|
|||
rank = ranked[fname]
|
||||
size = (rank - min_rank) / (max_rank - min_rank)
|
||||
pen = max(10 * size, 1)
|
||||
size = 3 * size
|
||||
size = 2 * size
|
||||
fontsize = str(10 * size)
|
||||
dot.node(fname, penwidth=str(pen), width=str(size), height=str(size), fontsize=fontsize)
|
||||
|
||||
|
@ -306,14 +306,10 @@ def call_map():
|
|||
b = random.randint(0, 255)
|
||||
color = f"#{r:02x}{g:02x}{b:02x}80"
|
||||
weight = weight * 10 / max_w
|
||||
dot.edge(refs, defs, penwidth=str(weight), color=color)
|
||||
|
||||
name = tuple(sorted([refs, defs]))
|
||||
print()
|
||||
print(name)
|
||||
for ident in sorted(labels[name]):
|
||||
print("\t", ident)
|
||||
# print(f"{refs} -{weight}-> {defs}")
|
||||
label = labels[(refs, defs)]
|
||||
label = sorted(label, reverse=True)
|
||||
label = " ".join(ident for cnt, ident in label[:5])
|
||||
dot.edge(refs, defs, penwidth=str(weight), color=color, label=label)
|
||||
|
||||
top_rank = sorted([(rank, node) for (node, rank) in ranked.items()], reverse=True)
|
||||
# Print the PageRank of each node
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue