We've often discussed but never resolved where to put standalone
scripts and cron jobs related to a Pylons project.  These might be for
database maintenance, data import/export, ad hoc scripts you might use
again someday, etc.  Pylons apps don't have a 'bin' directory or
executable; everything is hung off 'paster' (or possibly a 'pylons'
command at some time in the future).  This seems to leave two
possibilities:

1) Scripts registered in setup.py for the global 'bin' directory.  A
standard package for these would be good, perhaps myapp.util,
myapp.scripts, myapp.standalone, or something like that.

2) Paster plugins.  Apparently you can add a Paster command with an
entry point like:

[paste.paster_command]
mycommand = package.module:Class

However, I'm not sure how Paster would know which egg to look for
"paster mycommand" in, unless the current directory is the
application.  Putting these globally in Paster when they're really
application-specific is also undesirable.

Also, most of my utilities require a database connection which implies
an .ini file.  This makes them *like* "paster setup-app" both in their
command-line syntax, need for an .ini file, and code for reading the
configuration (a la websetup.py).  Sometimes you also need additional
command-line arguments or options.

So, which way is better, and has anybody tried making an app-specific
Paster plugin?  I guess we'll need a HOWTO on both strategies.  I'm
concerned that it's so complicated to make standalone scripts for
Pylons apps that people just work around it, or at least I do, but
that's a disadvantage for Pylons.  it's something that really should
be straightforward and easy and documented.

Another issue is I don't really want all my application-specific
scripts in the global 'bin' directory: this means I have to name them
with a common prefix, etc.  It almost seems worthwhile to have an
application supercommand that dispatches to each command module.  But
that's what 'paster' is, a supercommand.
So maybe a "paster myapp mycommand myargs" would be worthwhile, where
'myapp' means to look for a command in that package.  Does this sound
like something feasable for Pylons?

-- 
Mike Orr <[EMAIL PROTECTED]>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to