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