I have noticed that now that we are almost exclusively using eggs to 
distribute our software using "bin/instance run" has become difficult: 
often the script you want to run is located inside an egg which makes to 
path to it hard to predict. This is not the most user friendly command:

   bin/instance run eggs/my.package-*/my/package/script.py

If a user is using a shared egg directory from zc.buildout or something 
else the egg can be anywhere on the filesystem, making it next to 
impossible to explain to users.

I am considering to modify bin/instance run to check if its first 
argument is a filesystem path, and if not consider the argument to be a 
dotted name of a callable which should be invoke. That way backwards 
compatibility remains, but you can now also do this:

   bin/instance run my.package.script.main

I am not sure if this is best done in plone.recipe.zope2instance or 
Zope2.Startup.zopectl. They have differing versions of ZopeCmd. Perhaps 
the plone.recipe.zope2instance code should be merged into Zope2's 
original as well?

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to