Search in sources :

Example 1 with WtTemplateArgument

use of org.sweble.wikitext.parser.nodes.WtTemplateArgument in project wikivoyage-listings by baturin.

the class TemplateNode method parseArguments.

/**
 * Parse template arguments into a dictionary
 */
private void parseArguments() {
    namedArguments = new LinkedHashMap<>();
    positionalArguments = new LinkedList<>();
    for (WtNode templateArgumentsChildNode : node.getArgs()) {
        if (templateArgumentsChildNode instanceof WtTemplateArgument) {
            WtTemplateArgument templateArgument = (WtTemplateArgument) templateArgumentsChildNode;
            String name = convertWtNodeToString(templateArgument.getName()).trim();
            String value = convertWtNodeToString(templateArgument.getValue()).trim();
            if (name.equals("")) {
                positionalArguments.add(value);
            } else {
                namedArguments.put(name, value);
            }
        }
    }
}
Also used : WtNode(org.sweble.wikitext.parser.nodes.WtNode) WtTemplateArgument(org.sweble.wikitext.parser.nodes.WtTemplateArgument)

Aggregations

WtNode (org.sweble.wikitext.parser.nodes.WtNode)1 WtTemplateArgument (org.sweble.wikitext.parser.nodes.WtTemplateArgument)1