On 04/22/2012 04:14 AM, John Morris wrote:
Yes, I do need something better. This raises a question I've had
about
workflow. The koji CLI is very simple. I think that most commands expose
a single xmlrpc call (perhaps with a little sugaring). I haven't seen a
document yet that describes workflow beyond the most basic steps. I
often find myself doing cumbersome things, and think there must be an
easier way. This example could be called 'list-tagged --rpms --nosigs':
koji list-tagged --rpms --sigs fc16-cadcam | \
sed '/^ /s/^/2ef86730/' | sort | uniq -u | sed 's/^[^ ]* //'
Is there some documentation I've missed somewhere? There are several
pages on the wiki, but nothing I've found is very complete (other than
the source!). Should I just not be using the CLI much and scripting my
workflow instead?
Our documentation is somewhat lacking unfortunately. I'm told the source
is fairly readable, though as one of the authors I am not fit to judge :)
Of course, koji is a command line tool and it is quite legitimate to
process its output in some ways. Your list-tagged example is fine,
though you probably want the --quiet option to avoid printing the column
headers.
The boundary where best practice shifts from standard shell output
processing to writing a python script is somewhat fuzzy. It depends on
what you're trying to accomplish.
I see that I left a space at the end of the middle 'warn('
line. Is that
what you mean? I'm not a real dev, so this kind of clue is helpful.
Yeah, that's the one. Stray whitespace is disliked by many developers,
myself included. The git-apply and git-am tools complain when they find it.
While not applicable to this case, leading whitespace can be an major
issue in python, particularly when it comes to mixing spaces and tabs
(we don't use tabs in Koji's code, though a few have slipped in over the
years).
I use vim options to make visibly distinguish certain types of
whitespace (e.g. "set list lcs=tab:>- lcs+=trail:-"). It's quite
helpful. I think other development-friendly editors have similar features.