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

Unified Diff: third_party/pylint/pyreverse/writer.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/pylint/pyreverse/utils.py ('k') | third_party/pylint/reporters/__init__.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/pylint/pyreverse/writer.py
diff --git a/third_party/pylint/pyreverse/writer.py b/third_party/pylint/pyreverse/writer.py
index 8628a8ccf18c32191b9cace42141414df8e8de89..6dbfc2658c5690c26d288280347049589b1ae633 100644
--- a/third_party/pylint/pyreverse/writer.py
+++ b/third_party/pylint/pyreverse/writer.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Copyright (c) 2008-2013 LOGILAB S.A. (Paris, FRANCE).
+# Copyright (c) 2008-2010 LOGILAB S.A. (Paris, FRANCE).
# http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This program is free software; you can redistribute it and/or modify it under
@@ -13,15 +13,17 @@
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-"""Utilities for creating VCG and Dot diagrams"""
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+"""
+Utilities for creating VCG and Dot diagrams.
+"""
from logilab.common.vcgutils import VCGPrinter
from logilab.common.graph import DotBackend
from pylint.pyreverse.utils import is_exception
-class DiagramWriter(object):
+class DiagramWriter:
"""base class for writing project diagrams
"""
def __init__(self, config, styles):
@@ -44,33 +46,30 @@ class DiagramWriter(object):
def write_packages(self, diagram):
"""write a package diagram"""
- # sorted to get predictable (hence testable) results
- for i, obj in enumerate(sorted(diagram.modules(), key=lambda x: x.title)):
- self.printer.emit_node(i, label=self.get_title(obj), shape='box')
- obj.fig_id = i
+ for obj in diagram.modules():
+ label = self.get_title(obj)
+ self.printer.emit_node(obj.fig_id, label=label, shape='box')
# package dependencies
- for rel in diagram.get_relationships('depends'):
+ for rel in diagram.relationships.get('depends', ()):
self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
- **self.pkg_edges)
+ **self.pkg_edges)
def write_classes(self, diagram):
"""write a class diagram"""
- # sorted to get predictable (hence testable) results
- for i, obj in enumerate(sorted(diagram.objects, key=lambda x: x.title)):
- self.printer.emit_node(i, **self.get_values(obj))
- obj.fig_id = i
+ for obj in diagram.objects:
+ self.printer.emit_node(obj.fig_id, **self.get_values(obj) )
# inheritance links
- for rel in diagram.get_relationships('specialization'):
+ for rel in diagram.relationships.get('specialization', ()):
self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
- **self.inh_edges)
+ **self.inh_edges)
# implementation links
- for rel in diagram.get_relationships('implements'):
+ for rel in diagram.relationships.get('implements', ()):
self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
- **self.imp_edges)
+ **self.imp_edges)
# generate associations
- for rel in diagram.get_relationships('association'):
+ for rel in diagram.relationships.get('association', ()):
self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
- label=rel.name, **self.ass_edges)
+ label=rel.name, **self.ass_edges)
def set_printer(self, file_name, basename):
"""set printer"""
@@ -94,12 +93,11 @@ class DotWriter(DiagramWriter):
"""
def __init__(self, config):
- styles = [dict(arrowtail='none', arrowhead="open"),
- dict(arrowtail='none', arrowhead='empty'),
- dict(arrowtail='node', arrowhead='empty', style='dashed'),
+ styles = [dict(arrowtail='none', arrowhead="open"),
+ dict(arrowtail = "none", arrowhead='empty'),
+ dict(arrowtail="node", arrowhead='empty', style='dashed'),
dict(fontcolor='green', arrowtail='none',
- arrowhead='diamond', style='solid'),
- ]
+ arrowhead='diamond', style='solid') ]
DiagramWriter.__init__(self, config, styles)
def set_printer(self, file_name, basename):
@@ -115,20 +113,20 @@ class DotWriter(DiagramWriter):
def get_values(self, obj):
"""get label and shape for classes.
-
+
The label contains all attributes and methods
"""
- label = obj.title
+ label = obj.title
if obj.shape == 'interface':
- label = u'«interface»\\n%s' % label
+ label = "«interface»\\n%s" % label
if not self.config.only_classnames:
- label = r'%s|%s\l|' % (label, r'\l'.join(obj.attrs))
+ label = "%s|%s\l|" % (label, r"\l".join(obj.attrs) )
for func in obj.methods:
label = r'%s%s()\l' % (label, func.name)
label = '{%s}' % label
if is_exception(obj.node):
- return dict(fontcolor='red', label=label, shape='record')
- return dict(label=label, shape='record')
+ return dict(fontcolor="red", label=label, shape="record")
+ return dict(label=label, shape="record")
def close_graph(self):
"""print the dot graph into <file_name>"""
@@ -141,13 +139,12 @@ class VCGWriter(DiagramWriter):
def __init__(self, config):
styles = [dict(arrowstyle='solid', backarrowstyle='none',
backarrowsize=0),
- dict(arrowstyle='solid', backarrowstyle='none',
+ dict(arrowstyle='solid', backarrowstyle='none',
backarrowsize=10),
dict(arrowstyle='solid', backarrowstyle='none',
linestyle='dotted', backarrowsize=10),
dict(arrowstyle='solid', backarrowstyle='none',
- textcolor='green'),
- ]
+ textcolor='green') ]
DiagramWriter.__init__(self, config, styles)
def set_printer(self, file_name, basename):
@@ -166,7 +163,7 @@ class VCGWriter(DiagramWriter):
def get_values(self, obj):
"""get label and shape for classes.
-
+
The label contains all attributes and methods
"""
if is_exception(obj.node):
@@ -182,7 +179,7 @@ class VCGWriter(DiagramWriter):
methods = [func.name for func in obj.methods]
# box width for UML like diagram
maxlen = max(len(name) for name in [obj.title] + methods + attrs)
- line = '_' * (maxlen + 2)
+ line = "_" * (maxlen + 2)
label = r'%s\n\f%s' % (label, line)
for attr in attrs:
label = r'%s\n\f08%s' % (label, attr)
« no previous file with comments | « third_party/pylint/pyreverse/utils.py ('k') | third_party/pylint/reporters/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698