thanks, atm I don't know how that works. otoh, can we use the index.txt? that seems to contain most of the information. that's a great library! marius.
Thomas O Fredericks wrote: > We implemented something similar forthe help files in PDMTL > abstractions. See the pdmtl.inde.maker.pd in > https://devel.goto10.org/listing.php?repname=pdmtl&path=%2Ftrunk%2Ftools%2F&rev=0&sc=0 > > <https://devel.goto10.org/listing.php?repname=pdmtl&path=%2Ftrunk%2Ftools%2F&rev=0&sc=0> > > Tom > > On 8/29/07, *marius schebella* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > hi, > this is the start for the puredocumentation wiki. > for all who didn't follow the discussions during the pdconv, here is the > latest: > some people agreed on building a media wiki for all documentation > beyond > the pd help patches. some time ago there was the puredatabase, but that > is quite dead now. > so the idea is, to reanimate something similar, but with the possibility > for everyone to commit to it. maybe not everyone but if 5-10% of users > help contributing, then I think the project will be successful. > one of the reasons why this should be done, is that very often pd users > look for a certain feature or object, but don't know the name exactly > and need a good search engine. > so... the puredocumentation (in planning state) will cover externals and > "stable" abstractions. (abstractions that are maintained kind of like > externals) > additionally to the "wiki for objects" there will be the section for > the > tutorials, manuals and faq, and hopefully you will be able to type in > your search string after "How do I: " and get the right objects, > examples and tutorials. > My estimation is, that there are more than 3000 objects atm. so for the > beginning the tricky part is to build all the basic object pages from > the existing documentation (mainly help patches). > here is, what I think should be the content of every object page: > *objectname* the string name (for example "plus" for "+") of the > object/external > *opt other name* = abbreviation, +,.. > *helpfilename* (can be different than object name), > *description* = short description > *libraryinfo* purepd,GEM,cyclone... + author + licence > *arguments* > *inlets/outlets* > *examples* what this object is for... that's where you can be creative! > *see also* / similar objects > *tags* like audio/dsp, math, MIDI, something like a categorization. > I want to use python to extract as much information as possible from > the > help-patches into one big textfile (csv style) from which we can create > the wikipages. I hope to get the developers involved in correcting the > cvs-textfile before the basic pages are created). this has to be done > per library, and I am still trying to figure out, how to do this in > detail. for example some help patches have some description in the top > letmost corner. so a python script should be able to find that > information and put it into the "description" field. > there will be an irc session on sep 11 with all the people working on > the project. so maybe if you want to join or have suggestions on how to > get this done, feel free to respond. > addtitional documentation work that probably will also be done: > improving help patches by switching to a nice pddp format. > creating online video tutorials, or recordings of workshops. > one last point: If you know of a school/university or teaching center > that would like to get involved (for example by putting pd classes on > their schedule or paying people do some documentation work) that would > also help the project to be successful... > so far. thanks for reading through that all! > marius. > > # this file will look slightly different for every library > # write everything into a database like format... (NOT YET!!!) > # OBJECTNAME | OPT OTHER NAME | HELPFILE-NAME | DESCRIPTION | TAGS | > LIBRARYINFO | ARGUMENTS | INLETS/OUTLETS | EXAMPLES | SEE ALSO > # objectname is the string name (for example "plus" for "+") > # opt other name = abbreviation, +, > # helpfilename (can be different than object name), > # description = short description > # libraryinfo: purepd or GEM + author + licence > # arguments > # inlets/outlets > # examples : what this object is for... > # see also/similar objects > # junk > # > # use X coordinate to sort comments??? > > import re > import os > > print 'searching all files for comments' > > searchPattern = "#X text \d+ \d+ " # search for comments > replacePattern = searchPattern # what can be deleted of the comments > deleteNLPattern = r'\r' # delete cr > fileExtension = ".*[.]pd$" # files to look for > separator = "|" # separate colomns > separator2 = "___" # separate junk > fileTo = "test_to.txt" > > p = re.compile(searchPattern) > rep = re.compile(replacePattern) > nldel = re.compile(deleteNLPattern) > fe = re.compile (fileExtension) > > f2 = open(fileTo, "w") > > for fileName in os.listdir("."): > m = fe.search(fileName) > if m: # only if is it a pd-file > f = open(fileName, "r") > first = 1 # suppose the first entry is > the description > for line in f: > m = p.search(line) # search in line for pd-comment > pattern > if m: > line = nldel.sub("",line) > if first == 1: # help needed! how > to sort other than by appearance? write to array? > f2.write("\n" + fileName + separator) #need \n > for every file but the first. > newText = rep.sub("",line) # this should > delete the trailing pattern > f2.write(newText[:-1]) # this writes > without closing nl > f2.write (separator) > first = 0 > else: > newText = rep.sub("",line) > f2.write(newText[:-1]) > f2.write(separator2) > f.close() > f2.close() > > #done... > _______________________________________________ > [email protected] <mailto:[email protected]> mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > > > > > -- > thomas ouellet fredericks, [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>, montreal, canada _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
