Re: New argument processing code merged into devel

2023-06-16 Thread Thomas Passin
One additional idea you might entertain as long as you are thinking about 
argument parsing functions.  Most command line processing functions return 
a string, and it is up to the downstream code to convert it to an int, 
float, whatever.  My own - overly simple, for sure - includes an optional 
default value in its function signature.  The code returns the argument 
already cast to the type of the default value.

One might raise the question of separation of concerns - an argument parser 
doesn't need to know about the argument's types, perhaps - but usually 
there is a default value provided somewhere, and why not put it in the code 
that returns the argument?

On Friday, June 16, 2023 at 3:23:49 PM UTC-4 Edward K. Ream wrote:

> On Friday, June 16, 2023 at 1:46:37 PM UTC-5 Edward K. Ream wrote:
>
> a *stateless *class, say *g.OptionsUtils*, would simply package a set of 
> functions. I am going to experiment with this pattern.
>
>
> Experiments show that just adding four functions to leoGlobals.py is more 
> convenient.
>
> The latest code is in PR #3389 
> .  All comments 
> welcome.
>
> Edward
>

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/df0f1ae0-faad-47e1-83a6-ddae407fb7dfn%40googlegroups.com.


Re: New argument processing code merged into devel

2023-06-16 Thread Edward K. Ream
On Friday, June 16, 2023 at 1:46:37 PM UTC-5 Edward K. Ream wrote:

a *stateless *class, say *g.OptionsUtils*, would simply package a set of 
functions. I am going to experiment with this pattern.


Experiments show that just adding four functions to leoGlobals.py is more 
convenient.

The latest code is in PR #3389 
.  All comments welcome.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/c9abca0a-48a3-4cc1-b19f-c409e68c3a44n%40googlegroups.com.


Re: New argument processing code merged into devel

2023-06-16 Thread Edward K. Ream
On Friday, June 16, 2023 at 9:12:24 AM UTC-5 Edward K. Ream wrote:

[If] I *did* want to eliminate argparse everywhere I might define some 
common helper functions in leoGlobals. I would *not* create a faux helper 
class. 


On second thought, a *stateless *class, say *g.OptionsUtils*, would simply 
package a set of functions. I am going to experiment with this pattern.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/f06a24e0-8eb0-4bec-b466-fb2be984b069n%40googlegroups.com.


Re: New argument processing code merged into devel

2023-06-16 Thread Edward K. Ream
On Thursday, June 15, 2023 at 8:06:04 PM UTC-5 Edward K. Ream wrote:

> The code has only been lightly tested. Please report any problems 
immediately.

Many thanks to Thomas for his testing. Recent PRs and revs have improved 
error reporting.

I can see how something as horrid as argparse gets started. There is a 
desire to share code, but this requires endless features and kwargs.

Leo's world contains several modules that use argparse. I'm going to leave 
them alone because they are seldom used. But if I *did* want to eliminate 
argparse everywhere I might define some common helper functions in 
leoGlobals.

I would *not* create a faux helper class. Such a class would lead 
immediately to something like argparse. Oh, let's add just one more 
feature...

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/4f8d6f09-1d64-444b-9625-f36d1446a06dn%40googlegroups.com.


New argument processing code merged into devel

2023-06-15 Thread Edward K. Ream
PR #3382  is now part 
of devel. The new code:

- resolves the problems discussed in #3382 
, 
- produces better messages,
- is generally simpler and more flexible.

The code has only been lightly tested. Please report any problems 
immediately.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/d464dffa-e6b5-4fb0-bf2a-02402062b8c2n%40googlegroups.com.