> On 31 Jan 2019, at 13:34, Mark Reynolds <[email protected]> wrote:
> 
> 
> On 1/30/19 9:16 PM, William Brown wrote:
>> Hi,
>> 
>> I noticed a few things that seem out of place in lib389’s cli tools. I just 
>> want to point out that using raw print isn’t really correct. Using log 
>> allows us to capture the written output for test verification, so always use 
>> log, not print.
> We have to use print() because the logging causes all kinds of issues with 
> CLI interaction.  Mainly you can not redirect it as you would expect, there 
> were other issues too but I don't recall them at the moment.  I think there 
> was a double logging issue as well?  The only viable option at the time was 
> to use to print() for the CLI tool's output.

No problem. I think this is a stdout/stderr issue as you say, but we can tell 
the logger to use stdout. I’ll put that into the PR as well. 


>> 
>> If you are then writing a function on a lib389 dsldapobject, you shouldn’t 
>> directly log the output either. You should return it (probably as a dict!) 
>> to the caller. This way the caller can either display/format the object 
>> correctly *or* they can consume the data in further functions. Even more 
>> important, by simply returning a dict, you can consume the _json magic. I 
>> saw an example where get_attr_vals was used, and then ensure_str called, 
>> then json transformed. The better way would have been to use 
>> get_attr_vals_utf8_json() which would have done all the correct wrapping and 
>> transformation for you :)
>> 
>> I know it seems nitpicky, but little details like this matter for testing 
>> and api cleanliness and reuse in future applications :)
>> 
>> Thanks,
>> 
>> —
>> Sincerely,
>> 
>> William Brown
>> Software Engineer, 389 Directory Server
>> SUSE Labs
>> _______________________________________________
>> 389-devel mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives: 
>> https://lists.fedoraproject.org/archives/list/[email protected]

—
Sincerely,

William Brown
Software Engineer, 389 Directory Server
SUSE Labs
_______________________________________________
389-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]

Reply via email to