Rev 6: Add conversion to a sensiblish string for PluginInfo. in http://people.ubuntu.com/~robertc/baz2.0/plugins/plugin_info/trunk

Robert Collins robertc at robertcollins.net
Fri Feb 29 17:54:41 GMT 2008


At http://people.ubuntu.com/~robertc/baz2.0/plugins/plugin_info/trunk

------------------------------------------------------------
revno: 6
revision-id:robertc at robertcollins.net-20080229175431-26xlcybidbny0a4z
parent: robertc at robertcollins.net-20080229163617-7lrd2v0i22pgbobj
committer: Robert Collins <robertc at robertcollins.net>
branch nick: trunk
timestamp: Sat 2008-03-01 04:54:31 +1100
message:
  Add conversion to a sensiblish string for PluginInfo.
modified:
  extract.py                     extract.py-20080229115650-cgv523um54o9zvew-1
  tests/test_extract.py          test_extract.py-20080229115650-cgv523um54o9zvew-2
=== modified file 'extract.py'
--- a/extract.py	2008-02-29 16:36:17 +0000
+++ b/extract.py	2008-02-29 17:54:31 +0000
@@ -85,3 +85,15 @@
 
     def __eq__(self, other):
         return self.__dict__ == other.__dict__
+
+    def __str__(self):
+        version_string = '%s.%s.%s%s%s' % self.version_info
+        command_string = ','.join('"%s"' % command for command in self.commands)
+        control_string = ','.join('"%s"' % format for format in self.control_formats.keys())
+        checkout_string = ','.join('"%s"'% format for format in self.checkout_formats.values())
+        branch_string = ','.join('"%s"'% format for format in self.branch_formats.values())
+        repository_string = ','.join('"%s"'% format for format in self.repository_formats.values())
+        return ('%s(%s) from %s supplies commands(%s), control formats(%s), '
+            'checkout formats(%s), branch formats(%s), repository formats(%s).'
+            % (self.name, version_string, self.location, command_string, control_string,
+               checkout_string, branch_string, repository_string))

=== modified file 'tests/test_extract.py'
--- a/tests/test_extract.py	2008-02-29 16:36:17 +0000
+++ b/tests/test_extract.py	2008-02-29 17:54:31 +0000
@@ -41,6 +41,21 @@
         self.assertEqual({}, plugin.branch_formats)
         self.assertEqual({}, plugin.repository_formats)
 
+    def test_str(self):
+        plugin = PluginInfo()
+        plugin.name = "plugin_info"
+        plugin.commands = ["foo"]
+        plugin.version_info = (1, 2, 0, 'dev', 0)
+        plugin.minimum_bzr_version = (1, 0, 0)
+        plugin.maximum_bzr_version = None
+        plugin.control_formats = {"svn":{"ignored":None}}
+        plugin.checkout_formats = {"signature":"dirstate"}
+        plugin.branch_formats = {"signature":"format 6"}
+        plugin.repository_formats = {"signature":"packs"}
+        plugin.location = "http://bazaar-vcs.org/plugin-info/"
+        self.assertEqual('plugin_info(1.2.0dev0) from http://bazaar-vcs.org/plugin-info/ supplies commands("foo"), control formats("svn"), checkout formats("dirstate"), branch formats("format 6"), repository formats("packs").',
+            str(plugin))
+
     def test___eq__(self):
         plugin_expected = PluginInfo()
         plugin_expected.name = "1"



More information about the bazaar-commits mailing list