On Jan 7, 2013, at 6:43 PM, Jonathan Wilkes wrote:

>> ________________________________
>> From: Ed Kelly <morph_2...@yahoo.co.uk>
>> To: Jonathan Wilkes <jancs...@yahoo.com>; João Pais 
>> <jmmmp...@googlemail.com>; Hans-Christoph Steiner <h...@at.or.at> 
>> Cc: Pd List <pd-list@iem.at> 
>> Sent: Monday, January 7, 2013 5:48 PM
>> Subject: Re: [PD] translate the Start Here! page
>> 
>> 
>> May I make a suggestion?
>> 
>> 
>> If PD Meta contained a list of objects, and a short description of each 
>> object's function, it could be dynamically parsed into an XML document, the 
>> PD object list we've been arguing about in FLOSSmanuals could be generated 
>> by a PHP script, and so always up-to-date. It could be part of the autobuild 
>> process for pd-extended to generate this file.
> To generate such a libname-meta.pd in the first place you'd have to parse 
> each *-help.pd inside the
> libdir for the "DESCRIPTION values" comment; it's one less step to write 
> those results directly into the XML 
> document.
> 
> 
> Btw-- if you do that, keep in mind that messages in the pd file format can 
> span multiple lines, so
> make sure you regsub the file as a whole (or the [pd META] subpatch) to grab 
> everything from the
> TAG to the un-escaped semicolon.

I just did some of this parsing in python for getting translation strings from 
patches:


regex = re.compile('#X text [0-9]+ [0-9]+ ([^;]*);', re.MULTILINE | re.DOTALL)
matches = [m.groups() for m in regex.finditer(text)]

nonewlines = re.compile('\n', re.MULTILINE)
nobackslashes = re.compile(' \\\\', re.MULTILINE)
escapedoublequote = re.compile('[^\\\\]"', re.MULTILINE)

ids = []
for m in matches:
    if m:
        chunk = m[0]
        chunk = re.sub(nonewlines, ' ', chunk)
        chunk = re.sub(nobackslashes, '', chunk)
        chunk = re.sub(escapedoublequote, '\\"', chunk)
        if chunk not in ids:
            ids.append(chunk)

http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/doc/tutorials/start-here/po/generate-pot.py?revision=16820&view=markup

.hc
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to