diff options
author | Jan Pokorný <jpokorny@redhat.com> | 2016-01-22 16:33:56 +0100 |
---|---|---|
committer | Jan Pokorný <jpokorny@redhat.com> | 2016-02-01 23:53:36 +0100 |
commit | d614aae4fcbe2fe4fe173fa1ac5bd689c79de422 (patch) | |
tree | 94ac0555d134f7f7864e67a755938c7afd534271 | |
parent | 2fd302a570c1188b84dcb93ab486d30b6d391379 (diff) | |
download | clufter-d614aae4fcbe2fe4fe173fa1ac5bd689c79de422.tar.gz clufter-d614aae4fcbe2fe4fe173fa1ac5bd689c79de422.tar.xz clufter-d614aae4fcbe2fe4fe173fa1ac5bd689c79de422.zip |
filters/cib2pcscmd: generalize attrset_xsl
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
-rw-r--r-- | filters/cib2pcscmd.py | 49 |
1 files changed, 31 insertions, 18 deletions
diff --git a/filters/cib2pcscmd.py b/filters/cib2pcscmd.py index 81041ee..bdd0b1d 100644 --- a/filters/cib2pcscmd.py +++ b/filters/cib2pcscmd.py @@ -1,37 +1,50 @@ # -*- coding: UTF-8 -*- -# Copyright 2015 Red Hat, Inc. +# Copyright 2016 Red Hat, Inc. # Part of clufter project # Licensed under GPLv2+ (a copy included | http://gnu.org/licenses/gpl-2.0.txt) """cib2pcscmd filter""" __author__ = "Jan Pokorný <jpokorny @at@ Red Hat .dot. com>" from ..filter import XMLFilter +from ..filters._2pcscmd import verbose_ec_test, verbose_inform from ..utils_xml import squote -from ..utils_xslt import xslt_params +from ..utils_xslt import NL, xslt_params -def attrset_xsl(attrset): +def attrset_xsl(attrset, cmd=None, inform=None): return ('''\ - <xsl:for-each select="{attrset}"> - <xsl:choose> - <xsl:when test="rule and nvpair"> - <xsl:message> - <!-- TODO:PCS --> - <xsl:value-of select="concat('WARNING: has to skip rule-based', - ' {attrset} ', @id, - ' (rhbz#1250744)')"/> - </xsl:message> - </xsl:when> - <xsl:otherwise> + <xsl:if test="{attrset}/nvpair"> + <xsl:choose> + <xsl:when test="{attrset}/rule"> + <xsl:message> + <!-- TODO:PCS --> + <xsl:value-of select="concat('WARNING: has to skip rule-based', + ' {attrset} ', @id, + ' (rhbz#1250744)')"/> + </xsl:message> + </xsl:when> + <xsl:otherwise> +''' + ( + (verbose_inform(inform) + '\n' if inform else '') + + + ('''<xsl:value-of select='concat("", {cmd})'/>''' + if cmd else '') +) + ''' + <xsl:for-each select="{attrset}"> <xsl:for-each select="nvpair"> <xsl:value-of select='concat(" '", @name, "=", @value, "'")'/> </xsl:for-each> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> -''').format(attrset=attrset) + </xsl:for-each> +''' + ( + ('''<xsl:value-of select="'{NL}'"/>''' + '\n' + + verbose_ec_test) if cmd else '' +) + ''' + </xsl:otherwise> + </xsl:choose> + </xsl:if> +''').format(NL=NL, attrset=attrset, cmd=cmd) @XMLFilter.deco('cib', 'string-list', defs=dict( |