Rev 3: slight refactoring to make redirecting easier. in http://bzr.arbash-meinel.com/plugins/kndx_to_dot

John Arbash Meinel john at arbash-meinel.com
Tue Apr 10 22:35:06 BST 2007


At http://bzr.arbash-meinel.com/plugins/kndx_to_dot

------------------------------------------------------------
revno: 3
revision-id: john at arbash-meinel.com-20070410213503-9gnbqblwne0g6c4m
parent: john at arbash-meinel.com-20070410213046-fdhgsjivynwmvcbd
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: kndx_to_dot
timestamp: Tue 2007-04-10 16:35:03 -0500
message:
  slight refactoring to make redirecting easier.
modified:
  __init__.py                    __init__.py-20070410212739-0uwundx7uoho7f6n-1
-------------- next part --------------
=== modified file '__init__.py'
--- a/__init__.py	2007-04-10 21:30:46 +0000
+++ b/__init__.py	2007-04-10 21:35:03 +0000
@@ -74,10 +74,26 @@
             except ValueError:
                 versions = versions[versions.index(start):]
 
+        self.generate_dot(kndx, short, version_idxs, versions, self.outf)
+
+    def make_short_name(self, version_idxs, version):
+        """Convert a revision id into a shorter name.
+
+        :param version_idxs: A dict mapping versions => offset
+        :param version: The version to shorten.
+        """
+        idx = version_idxs[version]
+        m = self._revision_id_re.match(version)
+        if m:
+            return "%s %s-%s-%s" % (idx, m.group('user'),
+                                    m.group('date'), m.group('tail'))
+        else:
+            return "%s %s" % (idx, version)
+
+    def generate_dot(self, kndx, short, version_idxs, versions, output):
         self.outf.write('digraph T {\n'
                         '  node [shape=box]\n'
                        )
-
         for version in versions:
             if short:
                 sversion = self.make_short_name(version_idxs, version)
@@ -90,30 +106,16 @@
             else:
                 sparents = parents
             if not parents:
-                self.outf.write('  "%s"\n' % (sversion,))
+                output.write('  "%s"\n' % (sversion,))
             else:
                 for sparent in sparents:
-                    self.outf.write('  "%s" -> "%s"\n' % (sparent, sversion))
+                    output.write('  "%s" -> "%s"\n' % (sparent, sversion))
             # elif len(parents) == 1:
             #     self.outf.write('  "%s" -> "%s"\n' % (sversion, sparents[0]))
             # else:
             #     sparents = ' '.join('"%s"' % p for p in sparents)
             #     self.outf.write('  "%s" -> {%s}\n' % (sversion, sparents))
-        self.outf.write('}\n')
-
-    def make_short_name(self, version_idxs, version):
-        """Convert a revision id into a shorter name.
-
-        :param version_idxs: A dict mapping versions => offset
-        :param version: The version to shorten.
-        """
-        idx = version_idxs[version]
-        m = self._revision_id_re.match(version)
-        if m:
-            return "%s %s-%s-%s" % (idx, m.group('user'),
-                                    m.group('date'), m.group('tail'))
-        else:
-            return "%s %s" % (idx, version)
+        output.write('}\n')
 
 
 commands.register_command(cmd_kndx2dot)



More information about the bazaar-commits mailing list