[Buildroot] [PATCH 09/11] support/scripts: introduce a symbol formatter to generate package lists
Yann E. MORIN
yann.morin.1998 at free.fr
Wed Jun 4 17:48:27 UTC 2014
Samuel, All,
On 2014-06-03 08:10 +0200, Yann E. MORIN spake thusly:
> On 2014-06-03 00:53 +0200, Samuel Martin spake thusly:
> > On Mon, Jun 2, 2014 at 11:06 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> [--SNIP--]
> > > + def _format_symbol_prompt_location(self, what=None, symbol=None, root=None,
> > > + enable_choice=False, header=None,
> > > + get_label_func=lambda x: x):
> > > + if what is None:
> > > + raise Exception("Don't know what to format")
> > > +
> > > + if what == "layout":
> > > + return ( "100%", "^1,4" )
> > > +
> > > + if what == "header":
> > > + if hasattr(root, "get_title"):
> > > + loc_label = get_symbol_parents(root, None, enable_choice=enable_choice)
> > > + loc_label += [root.get_title(), "..."]
> > > + else:
> > > + loc_label = ["Location"]
> > > + return "| {0:<40} <| {1}\n".format(header, " -> ".join(loc_label))
> > > +
> > > + if what == "symbol":
> > > + parents = get_symbol_parents(symbol, root, enable_choice)
> > > + return "| {0:<40} <| {1}\n".format(get_label_func(symbol),
> > > + " -> ".join(parents))
> > > +
> > > + raise Exception("Don't know how to format '%s'" % str(what))
> >
> > Raising an exception if 'what' is None, and raising an exception when
> > it has an invalid value seems a bit overkill to me... ;-)
> >
> > I would drop the None-check, and make the exception message more
> > helpful in invalid case:
> >
> > message = "Invalid argument 'what': '%s'\n" % str(what)
> > message += "Allowed values are: 'layout', 'header' and 'symbol'"
> > raise Exception(message)
>
> But then, what happens if 'what' is in fact None, and we compare it to a
> string? Does Python automagically convert None to an empty string
> (whatever that might be in Python)?
>
> OK, I'll give it a shot...
OK, it looks like it is working. Thanks!
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list