Author: sleon
Date: 2006-01-07 00:44:51 +0000 (Sat, 07 Jan 2006)
New Revision: 7779

Modified:
   trunk/apps/freeviz/db.py
   trunk/apps/freeviz/gen.py
Log:
added some color

Modified: trunk/apps/freeviz/db.py
===================================================================
--- trunk/apps/freeviz/db.py    2006-01-06 23:56:02 UTC (rev 7778)
+++ trunk/apps/freeviz/db.py    2006-01-07 00:44:51 UTC (rev 7779)
@@ -36,6 +36,8 @@
        index = DatabaseIndex('identity',unique=True)
        #index2 = DatabaseIndex('name',unique=True)

+def getLastVer():
+       return con.queryOne('SELECT MAX(version) from node')[0]

 def init():
        Node.createTable()

Modified: trunk/apps/freeviz/gen.py
===================================================================
--- trunk/apps/freeviz/gen.py   2006-01-06 23:56:02 UTC (rev 7778)
+++ trunk/apps/freeviz/gen.py   2006-01-07 00:44:51 UTC (rev 7779)
@@ -8,34 +8,55 @@
 sys.path+=['/home/sleon/public_html/bla/']
 from db import *

+regver = re.compile('.*,(\d+)')
+       
+#COLORS
+nodeOK='#9dfbb9'
+nodeOUTDATED='#f3fb9d'
+edgeOK='#238500'
+edgeBLOCKED='#ee4a1e'
+
+
 def gentopology():
-       regver = re.compile('.*,(\d+)')
        #NodePair.createTable( ifNotExists=True )
        node_pairs = list(NodePair.select())
        nodes = list(Node.select())
        g=pydot.Dot(type='digraph')
+       lastver = regver.match( getLastVer()).group(1)


        for node in nodes:
+
+               nodecolor=nodeOK
+
                matc = regver.match(node.version)
                if matc:
                        nversion = matc.group(1)
                else:
                        nversion = '0'

-               gnode = pydot.Node(node.name,  label='''\
-<<FONT POINT-SIZE="10px"><table CELLBORDER="0" border="0"
-  CELLPADDING="0"
+               
+               if nversion < lastver:
+                       nodecolor=nodeOUTDATED
+
+               gnode = pydot.Node(node.name,  shape='plaintext', label='''\
+<<FONT POINT-SIZE="10px"><table bgcolor="%s" CELLBORDER="0" border="1"
+  CELLPADDING="2"
   CELLSPACING="3"
 ><tr><td align="left">%s</td>
 </tr><tr><td align="left">%s</td></tr>
-<tr><td>Ver. %s</td></tr>
-</table></FONT>>''' % (node.name,node.location[0:7],nversion ))
+<tr><td align="left">Ver. %s</td></tr>
+</table></FONT>>''' % (nodecolor, node.name,node.location[0:7],nversion ))
                g.add_node(gnode)

        #there are no dublicate edges in the database 
        for node_pair in node_pairs:
-               gedge = pydot.Edge(node_pair.node1.name, node_pair.node2.name, 
arrowhead='none')
+               edgecolor = edgeOK
+
+
+               if node_pair.backoffcur_node1 != '0' or 
node_pair.backoffcur_node2 != '0':
+                       edgecolor= edgeBLOCKED
+               gedge = pydot.Edge(node_pair.node1.name, node_pair.node2.name, 
color=edgecolor , arrowhead='none')
                g.add_edge(gedge)




Reply via email to