[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH 4 of 6] parse configurations with submenus



On Thu, 2011-10-20 at 00:09 +0100, M A Young wrote:
> The grub2 configuration file in Fedora 16 can have one or menuentrys
                                                           ^more ?
> in a submenu, with configuration of the form
> submenu "Xen 4.1" {
> menuentry ... {
> ...
> }
> }
> (this example occurs when the xen hypervisor is installed on the
> guest)
> Ignore the submenu line and the corresponding } 
> Signed-off-by: Michael Young <m.a.young@xxxxxxxxxxxx>

Acked-by: Ian Cambell <ian.campbell@xxxxxxxxxx>

> 
> --- a/tools/pygrub/src/GrubConf.py      2011-10-17 21:26:48.000000000
> +0100
> +++ b/tools/pygrub/src/GrubConf.py      2011-10-17 21:46:00.000000000
> +0100
> @@ -368,6 +368,7 @@
>          in_function = False
>          img = None
>          title = ""
> +        menu_level=0
>          for l in lines:
>              l = l.strip()
>              # skip blank lines
> @@ -394,10 +395,18 @@
>                  img = []
>                  title = title_match.group(1)
>                  continue
> -            
> +
> +            if l.startswith("submenu"):
> +                menu_level += 1
> +                continue
> +
>              if l.startswith("}"):
>                  if img is None:
> -                    raise RuntimeError, "syntax error: closing brace
> without menuentry"
> +                    if menu_level > 0:
> +                        menu_level -= 1
> +                        continue
> +                    else:
> +                        raise RuntimeError, "syntax error: closing
> brace without menuentry"
>  
>                  self.add_image(Grub2Image(title, img))
>                  img = None
> 
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.