-
Notifications
You must be signed in to change notification settings - Fork 384
Description
Ken's Envoy project has a similar run() to what Invoke will have, and somebody raised the point about making it easy for users to be secure against injection/quoting attacks, by adding a DB-API like parameterization format.
The link: not-kennethreitz/envoy#16
I agree with Ken's points therein that the point of these tools is ease of use, not correctness, but also with the "let's offer users the option of correctness if they want it" corollary.
So, check out that pypi'd package linked at the end of the discussion and see if it makes sense to integrate.
EDIT: cut to chase, link is http://shell-command.readthedocs.org/en/latest/ . Untouched since initial release, so now ~3 years old.
Strongly related here is the idea of exposing Popen's alternate list-of-parameters format for its initial argument, i.e. not this:
run("foo --the-bars plz")but instead, this:
run(['foo', '--the-bars', 'plz'])Some users find this easier than trying to handle/escape complex all-in-one command strings.