wiki:AdvParseArgsPlugin

Version 5 (modified by dale.miller@…, 5 years ago) (diff)

added this after looking at TicketStatsMacro

Advanced Argument Parser for WikiMacros

Description

This plug-in provides an advanced version of the parse_args function for WikiMacros.

This function is used in WikiMacros to parse the macro arguments. This enhanced version is meant as a replacement of trac.wiki.macros.parse_args and supports several advanced options (see section #Parameters). The most important feature is the support for quoting the delimiter, e.g. 'key1=val1,key2="some,text",key3=val3' will correctly return 'some,text' as the value of key2. The original parse_args function would return '"some' and handle 'text"' as separate argument.

Documentation

Definition

def parse_args (args, strict = True, multi = False, listonly = False, minlen = 0,
        quotechar = '"', escchar = '\\', delim = ',', delquotes = False)

Usage Example

# Instead of: from trac.wiki.macros import parse_args
# Use:
from tracadvparseargs import parse_args


class SomeMacro(WikiMacroBase):
    def expand_macro(self, formatter, name, args):
        largs, kwargs = parse_args( args, <options> )

Parameters

args
The argument string; 'content' in `expand_macro.
strict
Enables strict checking of keys.
multi
Enables folding of muliple given keys into list.
If set to True, values of multiple given keys will be returned as list, but single given keys will return a scalar.
If set to a list, only the values of the listed keys will be returned as list, but always as list even when there is only one value.
If this list contains '*', all values are always returned as list.
listonly
If true only a list is returned, no directionary.
minlen
Extend returned list to given minimum length. Only used when listonly=True.

Parser parameters

quotechar
The quote character to be used.
escchar
The escape character to be used.
delim
The delimiter character to be used.
delquotes
Selects if quotes should be removed.

TracHacks Macros which use this Function

Bugs/Feature Requests

Existing bugs and feature requests for AdvParseArgsPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out AdvParseArgsPlugin from here using Subversion, or browse the source with Trac.

Recent Changes

[13612] by rjollos on 2014-01-24 01:45:47
Changed license to BSD 3-Clause with permission of author (comment:1:ticket:11500). Fixes #11500.
[8541] by martin_s on 2010-08-30 23:57:20
Added encoding meta-comment and declared SVN keywords as unicode to avoid issues with non-english locales.
[8416] by martin_s on 2010-08-23 13:11:20
Removed outdated variable rev from setup file.

Author/Contributors

Author: martin_s
Contributors: