[PATCH pykickstart] Add lang --addsupport option

Vratislav Podzimek vpodzime at redhat.com
Mon Mar 25 12:19:36 UTC 2013


On Mon, 2013-03-25 at 10:22 +0100, Radek Vykydal wrote:
> ---
>  pykickstart/commands/lang.py    | 34 ++++++++++++++++++++++++++++++++++
>  pykickstart/handlers/control.py |  2 +-
>  2 files changed, 35 insertions(+), 1 deletion(-)
> 
> diff --git a/pykickstart/commands/lang.py b/pykickstart/commands/lang.py
> index dbdc852..b44bc82 100644
> --- a/pykickstart/commands/lang.py
> +++ b/pykickstart/commands/lang.py
> @@ -52,3 +52,37 @@ class FC3_Lang(KickstartCommand):
>  
>          self.lang = extra[0]
>          return self
> +
> +class F19_Lang(FC3_Lang):
> +    removedKeywords = FC3_Lang.removedKeywords
> +    removedAttrs = FC3_Lang.removedAttrs
> +
> +    def __init__(self, writePriority=0, *args, **kwargs):
> +        FC3_Lang.__init__(self, writePriority, *args, **kwargs)
> +        self.addsupport = kwargs.get("addsupport", [])
> +
> +        self.op = self._getParser()
> +
> +    def __str__(self):
> +        s = FC3_Lang.__str__(self)
> +        if s and self.addsupport:
> +            s = s.rstrip()
> +            s += " --addsupport=%s\n" % ",".join(self.addsupport)
> +        return s
> +
> +    def _getParser(self):
> +        def list_cb (option, opt_str, value, parser):
> +            for item in value.split(','):
> +                if item:
> +                    parser.values.ensure_value(option.dest, []).append(item)
> +
> +        op = FC3_Lang._getParser(self)
> +        op.add_option("--addsupport", dest="addsupport", action="callback",
> +                      callback=list_cb, nargs=1, type="string")
> +        return op
> +
> +    def parse(self, args):
> +        FC3_Lang.parse(self, args)
> +        (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
> +        self._setToSelf(self.op, opts)
> +        return self
> diff --git a/pykickstart/handlers/control.py b/pykickstart/handlers/control.py
> index 52b0a94..113de2d 100644
> --- a/pykickstart/handlers/control.py
> +++ b/pykickstart/handlers/control.py
> @@ -971,7 +971,7 @@ commandMap = {
>          "iscsi": iscsi.F17_Iscsi,
>          "iscsiname": iscsiname.FC6_IscsiName,
>          "keyboard": keyboard.F18_Keyboard,
> -        "lang": lang.FC3_Lang,
> +        "lang": lang.F19_Lang,
>          "logging": logging.FC6_Logging,
>          "logvol": logvol.F18_LogVol,
>          "mediacheck": mediacheck.FC4_MediaCheck,
Please, add a test for this new option to tests/commands/lang.py

-- 
Vratislav Podzimek

Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic



More information about the anaconda-patches mailing list