]> git.rmz.io Git - dotfiles.git/blobdiff - bin/graph.py
graph.py: I don't know
[dotfiles.git] / bin / graph.py
index ccf997f36996bdb8d53f60c6b0af61a67b7d9c14..82dfd7cfc684cd3931c4114bab27f7fb5880a6d0 100755 (executable)
@@ -4,59 +4,20 @@
 
 from __future__ import print_function
 import os
-#import sys
-import collections
-import argparse
-import logging
 import re
-from time import sleep
-import pygraphviz as pgv
 
-pkgs = os.popen("""LANGUAGE=C pacman -Ssq "^x264" """).read().strip().split("\n")
-print(pkgs)
-pkglist = os.popen("LANGUAGE=C pacman -Si").read().strip().split("\n\n")
-G = pgv.AGraph(directed=True)
+pkglist = os.popen("LANGUAGE=C pacman -Qi").read().strip().split("\n\n")
 p = re.compile(r"[<>=].*")
+e = open('edges.csv', 'w')
+e.write("Source,Target\n")
+n = open('nodes.csv', 'w')
+n.write("Node,Repo\n")
 for pkg in pkglist:
     lines = pkg.splitlines()
-    repo = lines[0][17:]
-    name = lines[1][17:]
+    name = lines[0][17:]
+    n.write(name+"\n")
     depends = lines[8][17:].split()
     for dep in depends:
         if dep != "None":
             dep = p.sub("",dep)
-            G.add_edge(dep,name)
-
-max_d = 200
-            print(succs)
-all_n = set(G.nodes())
-n = set()
-for pkg in pkgs:
-    n.add(pkg)
-    succs = set(G.successors(pkg))
-    cnt = 0;
-    while (cnt < max_d and len(succs) > 0):
-        cnt += 1
-        p = succs.pop()
-        try: 
-            n.add(p)
-            succs |= set(G.successors(p))
-        except KeyError:
-            pass
-    
-    preds = set(G.predecessors(pkg))
-    cnt = 0;
-    while (cnt < max_d and len(preds) > 0):
-        cnt += 1
-        p = preds.pop()
-        try: 
-            n.add(p)
-            preds |= set(G.predecessors(p))
-        except KeyError:
-            pass
-
-G.remove_nodes_from(all_n - n)
-    
-
-G.write("graph.dot")
-G.draw("graph.svg",prog='dot')
+            e.write(name+","+dep+"\n")