[Tutor] functions first?

Alex Kleider akleider at sonic.net
Wed Jan 28 01:59:27 CET 2015


On 2015-01-27 16:10, Steven D'Aprano wrote:
> On Tue, Jan 27, 2015 at 08:39:17AM -0800, Alex Kleider wrote:
> 
>> I use the docopt module to collect command line options and then
>> configparser to read a file.
>> Some of the values (such as a port number, for example) must then be
>> adjusted.  An example is
>> a port number which I want to convert from "5022" to ":5022" if it's a
>> non standard port or
>> to "" if it is the standard "22" so it can then be used as a string
>> format parameter.
>> Perhaps I should be doing this in the same place as I set up the 
>> string
>> rather than where
>> I populate the 'config' and 'PARAMS' dictionaries?
> 
> 
> I see the basic problem as this:
> 
> - you have config settings (command line options, config files)
>   which by their nature are always strings
> - furthermore they are strings in a format designed for human use
>   rather than machine use
> - by the time your function uses them, they need to be converted
>   from human-format to machine-format.
> 
> That last step might involve a type conversion like int(s), trimming
> whitespace, or more complex operations.
> 
> The most obvious way to do them is to apply the operation after reading
> the config value but before storing it in the params dict. If that
> works, I wouldn't add complexity where it isn't needed.
> 
> If it doesn't work for you, I think you need to explain what the 
> problem
> is before we can suggest a better design.

Again, thank you very much.
I'll do as you suggest above and see if I can make it work.
Alex


More information about the Tutor mailing list