Version 9 (modified by martin_s, 7 years ago) (diff)

Added links to releases and the pypi.

Advanced Argument Parser for WikiMacros


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 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.



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

Usage Example

# Instead of: from import parse_args
# Use:
from tracadvparseargs import *

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


The argument string; 'content' in `expand_macro.
Enables strict checking of keys.
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.
If true only a list is returned, no directionary.
Extend returned list to given minimum length. Only used when listonly=True.

Parser parameters

The quote character to be used.
The escape character to be used.
The delimiter character to be used.
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 the zipped source from [download:advparseargsplugin/0.11 here].

Released Python EGGs: v0.2 v0.3

This package is also available from the Python Package Index.


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

Recent Changes

15264 by rjollos on 2016-02-11 05:22:34
Remove unnecessary svn:mime-type on py files

svn:mime-type was set to "plain" for many files.

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.


Author: martin_s