summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Anclin <emile.anclin@logilab.fr>2008-09-09 17:47:06 +0200
committerEmile Anclin <emile.anclin@logilab.fr>2008-09-09 17:47:06 +0200
commitad1d80487bd740e9c0500ef9589474c9bf13ffd0 (patch)
tree0c18111cb93b425777bd76ac56d8958787dbe168
parent4c76cd6fb38ce8e734f051ac44b682ebbd6b1f3d (diff)
downloadpylint-ad1d80487bd740e9c0500ef9589474c9bf13ffd0.tar.gz
explicit Writer interfaces
-rw-r--r--pyreverse/writer.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/pyreverse/writer.py b/pyreverse/writer.py
index e18dd65..eeec418 100644
--- a/pyreverse/writer.py
+++ b/pyreverse/writer.py
@@ -33,7 +33,7 @@ class DiagramWriter:
for diagram in diadefs:
basename = diagram.title.strip().replace(' ', '_')
file_name = '%s.%s' % (basename, self.config.output_format)
- self.set_writer(file_name, basename)
+ self.set_printer(file_name, basename)
print 'creating diagram %s' % file_name
if diagram.TYPE == 'class':
self.write_classes(diagram)
@@ -68,6 +68,18 @@ class DiagramWriter:
self.printer.emit_edge(rel.from_object.fig_id, rel.to_object.fig_id,
label=rel.name, **self.ass_edges)
+ def set_printer(self, file_name, basename):
+ """set printer"""
+ raise NotImplementedError
+
+ def get_title(self, obj):
+ """get project title"""
+ raise NotImplementedError
+
+ def get_values(self, obj):
+ """get label and shape for classes."""
+ raise NotImplementedError
+
class DotWriter(DiagramWriter):
"""write dot graphs from a diagram definition and a project
@@ -82,7 +94,7 @@ class DotWriter(DiagramWriter):
self.ass_edges = dict(fontcolor='green', arrowtail='none',
arrowhead='diamond', style='solid')
- def set_writer(self, file_name, basename):
+ def set_printer(self, file_name, basename):
"""initialize DotWriter and add options for layout.
"""
layout = dict(rankdir="BT", concentrate="true")
@@ -129,7 +141,7 @@ class VCGWriter(DiagramWriter):
self.ass_edges = dict(textcolor='black',
arrowstyle='solid', backarrowstyle='none')
- def set_writer(self, file_name, basename):
+ def set_printer(self, file_name, basename):
"""initialize VCGWriter for a UML graph"""
self.graph_file = open(file_name, 'w+')
self.printer = VCGPrinter(self.graph_file)