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)