Hi, I'm pleased to announce the availability of ZShell 1.2 ZShell is an external Zope method which allows you to manipulate the ZODB using standard unix shell's commands from within Zope's Management Interface in your web browser. ZShell is the Swiss Army's Knife of the Zope Manager. ZShell is licensed under the GNU General Public Licence, with some clarifications of my own concerning it's use with Zope. You can download it from: http://cortex.unice.fr/~jerome/zshell/ New features are: ================= Some options may now be specified multiple times, and option arguments may use wildcards too, for examples look at grep's or find's documentation, or at this one: find / --id "*html" --id "!index_*" --type "DTML*" --type File --exec "catalog {}" (all on a single line): this will recursively catalog all objects which meta type begins with "DTML" or is File, which id ends in "html" but not those which id begins with "index_" This is just the sort of things you'll be able to do, but I'm confident that your own imagination can invent very complex commands to solve your particular problems. find's --user option was renamed to --owner find's --name option was renamed to --id Some options, actually --type and --owner in grep and find, and --id in find, now accept NOTarguments of the form: !arg, which can contain wildcards too. Bug fix with regard to special meta types handling (ZClasses) Better error handling in cp/mv/cut/copy/paste. Better output in cp/mv/paste. history now accepts a --clear option to empty the .zshell_history DTML Document, if allowed. history accepts multiple --user arguments to list only those commands run by the specified users (NOTarguments are allowed too). grep now accepts a --maxdepth option to be optionally used when the --recurse option is given. grep now accepts --owner, --mmin, --mtime, and --newer options, just like find. Both find and grep now accept a --older option, which works just like --newer. Overflow error fixed. What's cool ? ============= What you'll probably find very useful is the possibility to use NOTarguments in some commands arguments and some command options arguments. a NOTargument is a normal argument prefixed with a '!' character, meaning NOT. Read find and grep help for examples on how to use them: you'll like it ! Another interesting option is the new --older option for both grep and find, which will allow you, used with --newer, to search (in) and/or modify objects modified between the modification times of two other objects The third interesting thing is that now it will be easier for me to make other powerful commands like grep and find, since now they both use the same matching methods internally. The near future: ================ I'll probably add lots of options to the ls command, just to complete the find/grep duo, but I think the other commands finally may not need all this bunch of options, since you can use the find's --exec option to do very complicated things. Credits: ======== Thanks to Peter Bengtsson for his help. Hoping you'll find it more useful than ever. feel free to send me any feedback. bye, Jerome Alet
From: "Jerome Alet" <alet@unice.fr>
ZShell is the Swiss Army's Knife of the Zope Manager.
I like it! & Thanks for the latest version.:-) FTP down over the weekend so not tested ZShell 1.2 yet :-( What are your plans for implementing .zsh .zrc? Beyond ZShell's role as Zope manager's penknife, have you tried to use it ni DTML or Python Scripts as concise poweruser command? Zope programming with Zshell kinf of thing...? ./Jason
On Mon, Jun 04, 2001 at 09:21:19AM -0700, Jason Cunliffe wrote:
From: "Jerome Alet" <alet@unice.fr>
ZShell is the Swiss Army's Knife of the Zope Manager.
I like it!
& Thanks for the latest version.:-) FTP down over the weekend so not tested ZShell 1.2 yet :-(
I know, my Unversity's routers seem to be down almost every weekend...
What are your plans for implementing .zsh .zrc?
Will come for 2.0 I think.
Beyond ZShell's role as Zope manager's penknife, have you tried to use it ni DTML or Python Scripts as concise poweruser command? Zope programming with Zshell kinf of thing...?
Not yet, because of the bug some people have reported when calling zshell from another method, passing it the commands to run. Since I've not seen this bug myself, I can't easily solve it, so I've currently disabled this code. I hope it will work when ZShell Scripts will be available (I expect for 2.0) bye, Jerome Alet
participants (2)
-
Jason Cunliffe -
Jerome Alet