Changeset 3936
- Timestamp:
- 07/02/08 09:44:29 (5 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
masterticketsplugin/0.11/mastertickets/graphviz.py
r2959 r3936 1 # -*- coding: utf-8 -*- 1 2 # Created by Noah Kantrowitz on 2007-12-21. 2 3 # Copyright (c) 2007 Noah Kantrowitz. All rights reserved. … … 13 14 14 15 def _format_options(base_string, options): 15 return '%s [%s]'%(base_string, ', '.join(['%s="%s"'%x for x in options.iteritems()]))16 return u'%s [%s]'%(base_string, u', '.join([u'%s="%s"'%x for x in options.iteritems()])) 16 17 17 18 class Edge(dict): … … 24 25 25 26 def __str__(self): 26 ret = '%s -> %s'%(self.source.name, self.dest.name)27 ret = u'%s -> %s'%(self.source.name, self.dest.name) 27 28 if self: 28 29 ret = _format_options(ret, self) … … 37 38 38 39 def __init__(self, name, **kwargs): 39 self.name = str(name)40 self.name = unicode(name) 40 41 self.edges = [] 41 42 dict.__init__(self, **kwargs) … … 67 68 """A model object for a graphviz digraph.""" 68 69 69 def __init__(self, name= 'graph'):70 def __init__(self, name=u'graph'): 70 71 super(Graph,self).__init__() 71 72 self.name = name … … 82 83 83 84 def __getitem__(self, key): 84 key = str(key)85 key = unicode(key) 85 86 if key not in self._node_map: 86 87 new_node = Node(key) … … 90 91 91 92 def __delitem__(self, key): 92 key = str(key)93 key = unicode(key) 93 94 node = self._node_map.pop(key) 94 95 self.nodes.remove(node) … … 127 128 """Render a dot graph.""" 128 129 proc = subprocess.Popen([dot_path, '-T%s'%format], stdin=subprocess.PIPE, stdout=subprocess.PIPE) 129 out, _ = proc.communicate( str(self))130 out, _ = proc.communicate(unicode(self).encode('utf8')) 130 131 return out 131 132 … … 135 136 root = Node('me') 136 137 root > Node('them') 137 root < Node( 'us')138 root < Node(u'Ãs') 138 139 139 140 g.add(root)
