[MERGE] Re: windows-only problem with launchpad plugin

Lukáš Lalinský lalinsky at gmail.com
Tue Jul 10 22:17:19 BST 2007


On Ut, 2007-07-10 at 16:11 -0400, Aaron Bentley wrote:
> -    if '.zip' not in zip_name:
> +
> +    try:
> +        index = zip_name.rindex('.zip')
> +    except ValueError:
>          return
> 
> ^^^ I think the assignment of prefix should be moved up here.  It's not
> obvious that we use index later on.

Moved.

> - -            plugin = ziobj.load_module(plugin_name)
> - -            setattr(plugins, plugin_name, plugin)
> +            exec "import bzrlib.plugins.%s" % plugin_name in {}
> 
> Why do we want to use exec "import" here?

I used exec just for consistency with load_from_dir. There was some
discussion on the mailing list
<http://thread.gmane.org/gmane.comp.version-control.bazaar-ng.general/21831/focus=21852> and it was decided to use exec.

On St, 2007-07-11 at 00:01 +0300, Alexander Belchenko wrote:
> > The point is that plugins need to be able to import another
> > plugins before they are explicitly loaded by bzr. For this reason,
> > bzrlib.plugins.__path__ is set, before the plugins are loaded. So there
> > is no reason to import the zip file manually, because Python will take
> > care of it itself.
> 
> No, I don't think so.
> In the case of bzr.exe all python libraries is placed in one library.zip,
> and this zip present in sys.path. That's why import from zip works transparently
> for bzr.exe.
> 
> So, for importing built-in plugins you don't need to change default __path__,
> just append additional directories to default plugins.__path__. I think function
> set_plugins_path() is slightly incorrect here.

Right, but you can add plugin locations also via BZR_PLUGIN_PATH, which
can point to a zip file. From this point of view, there is no
difference between built-in plugins and plugins from custom
zip files.

>> Also this hardcoded path does break selftest: bzrlib.tests.test_plugins.TestPluginFromZip is failed.
> > 
> > Sorry about this, I missed the failed test. I think the test is wrong
> > and inconsistent with changes introduced in bzr.dev at 2258. I'll update it
> > in my next patch.
> 
> No, bzr.dev pass these tests.

I meant logically wrong.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bzr-zipimport.diff
Type: text/x-patch
Size: 7915 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070710/102a051b/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Toto je =?ISO-8859-1?Q?digit=E1lne?=
	=?ISO-8859-1?Q?_podp=EDsan=E1?= =?UTF-8?Q?_=C4=8Das=C5=A5?=
	=?ISO-8859-1?Q?_spr=E1vy?=
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070710/102a051b/attachment.pgp 


More information about the bazaar mailing list