]> git.rmz.io Git - dotfiles.git/blob - bin/graph.py
dwb: use urxvt as editor
[dotfiles.git] / bin / graph.py
1 #!/usr/bin/python2
2 # attempt to create a graph showing package dependencies
3 # in a nice graph
4
5 from __future__ import print_function
6 import os
7 import re
8
9 pkgs = os.popen("""LANGUAGE=C pacman -Ssq "^x264" """).read().strip().split("\n")
10 print(pkgs)
11 pkglist = os.popen("LANGUAGE=C pacman -Si").read().strip().split("\n\n")
12 p = re.compile(r"[<>=].*")
13 e = open('edges.csv', 'w')
14 e.write("Source,Target\n")
15 n = open('nodes.csv', 'w')
16 n.write("Node,Repo\n")
17 for pkg in pkglist:
18 lines = pkg.splitlines()
19 repo = lines[0][17:]
20 name = lines[1][17:]
21 n.write(name+","+repo+"\n")
22 depends = lines[9][17:].split()
23 for dep in depends:
24 if dep != "None":
25 dep = p.sub("",dep)
26 e.write(name+","+dep+"\n")