Rev 15: Make the output python script importable. in http://people.canonical.com/~robertc/baz2.0/plugins/plugin_info/trunk

Robert Collins robertc at robertcollins.net
Mon Mar 1 05:45:53 GMT 2010


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

------------------------------------------------------------
revno: 15
revision-id: robertc at robertcollins.net-20100301054552-k36r2grcwzy448mj
parent: robertc at robertcollins.net-20100301053714-z91mh1hsep2lqq2d
committer: Robert Collins <robertc at robertcollins.net>
branch nick: trunk
timestamp: Mon 2010-03-01 16:45:52 +1100
message:
  Make the output python script importable.
=== modified file 'commands.py'
--- a/commands.py	2010-03-01 02:17:19 +0000
+++ b/commands.py	2010-03-01 05:45:52 +0000
@@ -48,14 +48,18 @@
     def dump_info(self, plugin_info):
         if self.python:
             self.outf.write(plugin_info.to_python())
-            self.outf.write('plugins.append(plugin)\n')
+            self.outf.write("""if plugin.name:
+    plugins.append(plugin)
+""")
         else:
             self.outf.write(str(plugin_info))
 
     def run(self, location_list=[], python=False):
         self.python = python
         if self.python:
-            self.outf.write('plugins = []\n')
+            self.outf.write("""from extract import PluginInfo
+plugins = []
+""")
         for url in location_list:
             note("Probing %s" % url)
             try:

=== modified file 'tests/test_blackbox.py'
--- a/tests/test_blackbox.py	2010-03-01 02:12:53 +0000
+++ b/tests/test_blackbox.py	2010-03-01 05:45:52 +0000
@@ -57,35 +57,39 @@
     def test_extract_info_python(self):
         self.setup_plugins()
         out, err = self.run_bzr(['plugin-info', 'plugin', 'plugin2', '--python'])
-        self.assertThat(out, DocTestMatches("""plugins = []
-plugin = PluginInfo()
-plugin.name = 'foo_bar'
-plugin.location = plugin
-plugin.version_info = (1, 2, 3, 'dev', 0)
-plugin.minimum_bzr_version = (1, 2, 0)
-plugin.maximum_bzr_version = (1, 3, 0)
-plugin.commands = ['a-command']
-plugin.control_formats = {'bzr-meta': {'.bzr/branch-format': 'Bazaar-NG meta directory, format 1\\n'}}
-plugin.checkout_formats = {'Bazaar Working Tree Format 4 (bzr 0.15)\\n': 'dirstate'}
-plugin.branch_formats = {'Bazaar Branch Format 6 (bzr 0.15)\\n': 'branch 6'}
-plugin.repository_formats = {'Bazaar pack repository format 1 (needs bzr 0.92)\\n': 'packs'}
-plugin.transports = ['hg+ssh://']
-plugins.append(plugin)
-<BLANKLINE>
-plugin = PluginInfo()
-plugin.name = 'foo_bar'
-plugin.location = plugin2
-plugin.version_info = (1, 2, 3, 'dev', 0)
-plugin.minimum_bzr_version = (1, 2, 0)
-plugin.maximum_bzr_version = (1, 3, 0)
-plugin.commands = ['a-command']
-plugin.control_formats = {'bzr-meta': {'.bzr/branch-format': 'Bazaar-NG meta directory, format 1\\n'}}
-plugin.checkout_formats = {'Bazaar Working Tree Format 4 (bzr 0.15)\\n': 'dirstate'}
-plugin.branch_formats = {'Bazaar Branch Format 6 (bzr 0.15)\\n': 'branch 6'}
-plugin.repository_formats = {'Bazaar pack repository format 1 (needs bzr 0.92)\\n': 'packs'}
-plugin.transports = ['hg+ssh://']
-plugins.append(plugin)
-<BLANKLINE>
-"""))
+        expected = """from extract import PluginInfo
+plugins = []
+plugin = PluginInfo()
+plugin.name = 'foo_bar'
+plugin.location = 'plugin'
+plugin.version_info = (1, 2, 3, 'dev', 0)
+plugin.minimum_bzr_version = (1, 2, 0)
+plugin.maximum_bzr_version = (1, 3, 0)
+plugin.commands = ['a-command']
+plugin.control_formats = {'bzr-meta': {'.bzr/branch-format': 'Bazaar-NG meta directory, format 1\\n'}}
+plugin.checkout_formats = {'Bazaar Working Tree Format 4 (bzr 0.15)\\n': 'dirstate'}
+plugin.branch_formats = {'Bazaar Branch Format 6 (bzr 0.15)\\n': 'branch 6'}
+plugin.repository_formats = {'Bazaar pack repository format 1 (needs bzr 0.92)\\n': 'packs'}
+plugin.transports = ['hg+ssh://']
+if plugin.name:
+    plugins.append(plugin)
+<BLANKLINE>
+plugin = PluginInfo()
+plugin.name = 'foo_bar'
+plugin.location = 'plugin2'
+plugin.version_info = (1, 2, 3, 'dev', 0)
+plugin.minimum_bzr_version = (1, 2, 0)
+plugin.maximum_bzr_version = (1, 3, 0)
+plugin.commands = ['a-command']
+plugin.control_formats = {'bzr-meta': {'.bzr/branch-format': 'Bazaar-NG meta directory, format 1\\n'}}
+plugin.checkout_formats = {'Bazaar Working Tree Format 4 (bzr 0.15)\\n': 'dirstate'}
+plugin.branch_formats = {'Bazaar Branch Format 6 (bzr 0.15)\\n': 'branch 6'}
+plugin.repository_formats = {'Bazaar pack repository format 1 (needs bzr 0.92)\\n': 'packs'}
+plugin.transports = ['hg+ssh://']
+if plugin.name:
+    plugins.append(plugin)
+<BLANKLINE>
+"""
+        self.assertThat(out, DocTestMatches(expected))
         self.assertEqual('Probing plugin\nProbing plugin2\n', err)
 




More information about the bazaar-commits mailing list