wiki:AdvParseArgsPlugin

Version 10 (modified by Martin Scharrer, 14 years ago) (diff)

--

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 *


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. This is the only mandatory argument.
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 [download:advparseargsplugin/0.11 here].

Released Python EGGs: v0.2 v0.3

This package is also available from the Python Package Index.

Source

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

Recent Changes

17133 by rjollos on 2018-04-16 19:36:40
TracAdvParseArgsPlugin 0.4: Conform to PEP8
16394 by rjollos on 2017-03-25 09:20:58
Remove eggs
15264 by rjollos on 2016-02-11 04:22:34
Remove unnecessary svn:mime-type on py files

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

(more)

Author/Contributors

Author: martin_s
Contributors: