Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: third_party/logilab/common/graph.py

Issue 719313003: Revert "pylint: upgrade to 1.3.1" (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/logilab/common/fileutils.py ('k') | third_party/logilab/common/hg.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/logilab/common/graph.py
diff --git a/third_party/logilab/common/graph.py b/third_party/logilab/common/graph.py
index cef1c984cd5400a21dba620b1fc47b056e99019c..75a2ee7a7ade6306464e9768220fde729eaefb79 100644
--- a/third_party/logilab/common/graph.py
+++ b/third_party/logilab/common/graph.py
@@ -28,8 +28,7 @@ import os.path as osp
import os
import sys
import tempfile
-import codecs
-import errno
+from logilab.common.compat import str_encode
def escape(value):
"""Make <value> usable in a dot file."""
@@ -64,7 +63,7 @@ class DotBackend:
assert charset.lower() in ('utf-8', 'iso-8859-1', 'latin1'), \
'unsupported charset %s' % charset
self.emit('charset="%s"' % charset)
- for param in sorted(additionnal_param.items()):
+ for param in additionnal_param.iteritems():
self.emit('='.join(param))
def get_source(self):
@@ -107,26 +106,21 @@ class DotBackend:
ppng, outputfile = tempfile.mkstemp(".png", name)
os.close(pdot)
os.close(ppng)
- pdot = codecs.open(dot_sourcepath, 'w', encoding='utf8')
- pdot.write(self.source)
+ pdot = open(dot_sourcepath, 'w')
+ pdot.write(str_encode(self.source, 'utf8'))
pdot.close()
if target != 'dot':
if sys.platform == 'win32':
use_shell = True
else:
use_shell = False
- try:
- if mapfile:
- subprocess.call([self.renderer, '-Tcmapx', '-o', mapfile, '-T', target, dot_sourcepath, '-o', outputfile],
- shell=use_shell)
- else:
- subprocess.call([self.renderer, '-T', target,
- dot_sourcepath, '-o', outputfile],
- shell=use_shell)
- except OSError as e:
- if e.errno == errno.ENOENT:
- e.strerror = 'File not found: {0}'.format(self.renderer)
- raise
+ if mapfile:
+ subprocess.call([self.renderer, '-Tcmapx', '-o', mapfile, '-T', target, dot_sourcepath, '-o', outputfile],
+ shell=use_shell)
+ else:
+ subprocess.call([self.renderer, '-T', target,
+ dot_sourcepath, '-o', outputfile],
+ shell=use_shell)
os.unlink(dot_sourcepath)
return outputfile
@@ -140,14 +134,14 @@ class DotBackend:
"""
attrs = ['%s="%s"' % (prop, value) for prop, value in props.items()]
n_from, n_to = normalize_node_id(name1), normalize_node_id(name2)
- self.emit('%s -> %s [%s];' % (n_from, n_to, ', '.join(sorted(attrs))) )
+ self.emit('%s -> %s [%s];' % (n_from, n_to, ", ".join(attrs)) )
def emit_node(self, name, **props):
"""emit a node with given properties.
node properties: see http://www.graphviz.org/doc/info/attrs.html
"""
attrs = ['%s="%s"' % (prop, value) for prop, value in props.items()]
- self.emit('%s [%s];' % (normalize_node_id(name), ', '.join(sorted(attrs))))
+ self.emit('%s [%s];' % (normalize_node_id(name), ", ".join(attrs)))
def normalize_node_id(nid):
"""Returns a suitable DOT node id for `nid`."""
@@ -232,10 +226,10 @@ def get_cycles(graph_dict, vertices=None):
if vertices is None:
vertices = graph_dict.keys()
for vertice in vertices:
- _get_cycles(graph_dict, [], set(), result, vertice)
+ _get_cycles(graph_dict, vertice, [], result)
return result
-def _get_cycles(graph_dict, path, visited, result, vertice):
+def _get_cycles(graph_dict, vertice=None, path=None, result=None):
"""recursive function doing the real work for get_cycles"""
if vertice in path:
cycle = [vertice]
@@ -254,10 +248,7 @@ def _get_cycles(graph_dict, path, visited, result, vertice):
path.append(vertice)
try:
for node in graph_dict[vertice]:
- # don't check already visited nodes again
- if node not in visited:
- _get_cycles(graph_dict, path, visited, result, node)
- visited.add(node)
+ _get_cycles(graph_dict, node, path, result)
except KeyError:
pass
path.pop()
« no previous file with comments | « third_party/logilab/common/fileutils.py ('k') | third_party/logilab/common/hg.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698