]>
git.rmz.io Git - dotfiles.git/blob - bin/graph.py
2 # attempt to create a graph showing package dependencies
5 from __future__
import print_function
12 from time
import sleep
13 import pygraphviz
as pgv
15 pkgs
= os
.popen("""LANGUAGE=C pacman -Ssq "^x264" """).read().strip().split("\n")
17 pkglist
= os
.popen("LANGUAGE=C pacman -Si").read().strip().split("\n\n")
18 G
= pgv
.AGraph(directed
=True)
19 p
= re
.compile(r
"[<>=].*")
21 lines
= pkg
.splitlines()
24 depends
= lines
[8][17:].split()
32 all_n
= set(G
.nodes())
36 succs
= set(G
.successors(pkg
))
38 while (cnt
< max_d
and len(succs
) > 0):
43 succs |
= set(G
.successors(p
))
47 preds
= set(G
.predecessors(pkg
))
49 while (cnt
< max_d
and len(preds
) > 0):
54 preds |
= set(G
.predecessors(p
))
58 G
.remove_nodes_from(all_n
- n
)
62 G
.draw("graph.svg",prog
='dot')