On Wed, Jun 17, 2020 at 8:58 AM Soni L. <fakedme...@gmail.com> wrote:

> I'm having a really hard time seeing why that is either more readable, or
> easier to type than:
>
>
> nicest = ("foo"
>           "   bar"
>           "   baz"
>           )
> (my prefered way these days)
>
>
> I think you missed some \n's here.
>

indeed I did:

nicest = ("foo\n"
          "   bar\n"
          "   baz\n"
          )
which I agree is not as nice, but still just as good as the proposal.

>
> nicest = \
> """foo
>    bar"
>    baz"""
>
>
> this is ugly.
>

I agree, and don't usually do that -- it depends a lot on the level of
indentation I'm working in -- I would only do that at the top level.

> what's wrong with textwrap.dedent?

nothing -- but I left that out because it's a function call -- nothing to
do with Python syntax, etc.

Though now that you mention is, I really dont like the \z idea -- I just
don't see the point. But a simiple way to call (and pre-process detent
would be nice:

nicest = d"""foo
                bar
                baz"""

I  believe that's been proposed on this lists before -- not sure if it
petered out, or was rejected.


> however, I bring up again the original use-case which has nothing to do
> with textwrap.dedent, or nested indentation. But consider this artificial
> example:
>
> foo = textwrap.dedent("""
>     This is the help page for foo, a command \z
>     with the following subcommands:
>         bar - A very useful subcommand of foo \z
>             and probably the subcommand you'll \z
>             be using the most.
>         baz - A simple maintenance command \z
>             that you may need to use sometimes.
> """)
>
> Currently you'd have to write it as:
>
> foo = (
>     "This is the help page for foo, a command "
>     "with the following subcommands:\n"
>     "    bar - A very useful subcommand of foo "
>     "and probably the subcommand you'll "
>     "be using the most.\n"
>     "    baz - A simple maintenance command "
>     "that you may need to use sometimes."
> )
>
> or if you want it to look "nicer", and don't mind linters shouting at you:
>
> foo = (
>     "This is the help page for foo, a command "
>     "with the following subcommands:\n"
>     "    bar - A very useful subcommand of foo "
>         "and probably the subcommand you'll "
>         "be using the most.\n"
>     "    baz - A simple maintenance command "
>         "that you may need to use sometimes."
> )
>
> And I think this sucks.
>

less than ideal, yes -- but please post the \z version -- is it any better?

BTW, if I didn't mind linters yelling at me (and I don't), I'd do that as:

foo = (
    "This is the help page for foo, a command with the following
subcommands:\n"
    "    bar - A very useful subcommand of foo and probably the subcommand
you'll be using the most.\n"
    "    baz - A simple maintenance command that you may need to use
sometimes."
)

Which does not suck as much.

And why that has nothing to do with textwrap.detent() I don't know --
that's pretty much EXACTLY what textwrap.detent() is for.

I'd also add that large blocks of text really don't belong inline as big
literals -- if I had a use for that (and I do, for, e.g. help for command
line programs) I"d put it somewhere else: either an external text file, or
as literals at the tiop level of a module, where ordinary tripple quoted
strings are easy:

FOO_HELP = """
This is the help page for foo, a command with the following subcommands:
    bar - A very useful subcommand of foo and probably the subcommand
you'll be using the most.
    baz - A simple maintenance command that you may need to use sometimes.
"""

which is totally readable to me.

-CHB




-- 
Christopher Barker, PhD

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/AR4JENGIZORYXM5VYL7YWB727HLVN4RT/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to