I was initially in favor of adopting the comma separated change, but reading @jsherril's response (which I agree with) I think straightened my thinking out. I think we should continue the escaping as is. We shouldn't change the API structure to support easier manual URL forming at the expense of better structured API calls.
To share a vision w.r.t a CLI, I think we're going to have a lot of tools built on top of the API which will cause most users to not experience a cumbersome URL forming experience we are discussing. In the very near-term in lieu of a CLI users should use the bindings (python and ruby pre-built; other languages manual build). I also think we'll see several "workflow tools" created, probably on top of the Python bindings. A python dev could probably make an interesting CLI with the click library and the python bindings in an afternoon. My hope is that we can see what happens as users start writing scripts. We could invite them to ship their scripts in a contrib CLI library that we publish on PyPI, or they could be cannibalized into the start of an official CLI (at some point). Other input is welcome! What do you think we should do? On Mon, May 6, 2019 at 8:33 PM Justin Sherrill <jsher...@redhat.com> wrote: > To me the API is the interface to pulp, not httpie and I do not think you > should corrupt the api to make it easier to use from httpie (I.e. switch to > using comma separated values when json provides a method for specifying > multiple values). > > If you want to support both on the server I think that would be fine, but > I think if usability is a concern, a more usable CLI is needed! > > my two cents :) > > Justin > On 5/3/19 8:48 PM, Daniel Alley wrote: > > Providing Pulp with lists of values from the command line is rather > unweildy. There's a lot of unnecessary escaping going on. > > http POST :24817${REPO_HREF}versions/ > add_content_units:="[\"$CONTENT_HREF\",\"$CONTENT_2_HREF\"]" > > http POST http://localhost:24817/pulp/api/v3/rpm/copy/ > source_repo=${SRC_REPO_HREF} dest_repo=${DEST_REPO_HREF} > types:="[\"errata\"]" > > Tanya, Ina and myself thought it would be worth discussing the idea of > using something more ergonomic, like a comma-separated string. This would > make the endpoints much easier to use manually. > > http POST :24817${REPO_HREF}versions/ > add_content_units="$CONTENT_HREF,$CONTENT_2_HREF" > > http POST http://localhost:24817/pulp/api/v3/rpm/copy/ > source_repo=${SRC_REPO_HREF} dest_repo=${DEST_REPO_HREF} types="errata" > > On the other hand, we're planning to have an actual CLI, then this > probably isn't really an issue. The way we're doing things now isn't > wrong, it's just frustrating to do from a shell. But I don't know exactly > what our CLI plans are. > > What are your thoughts? > > _______________________________________________ > Pulp-dev mailing > listPulp-dev@redhat.comhttps://www.redhat.com/mailman/listinfo/pulp-dev > > _______________________________________________ > Pulp-dev mailing list > Pulp-dev@redhat.com > https://www.redhat.com/mailman/listinfo/pulp-dev >
_______________________________________________ Pulp-dev mailing list Pulp-dev@redhat.com https://www.redhat.com/mailman/listinfo/pulp-dev