generating a tree-like structure
A.T.Hofkamp
hat at se-126.se.wtb.tue.nl
Fri Jun 1 12:42:30 CEST 2007
On 2007-05-31, Thorsten Kampe <thorsten at thorstenkampe.de> wrote:
> * (31 May 2007 12:15:48 -0700)
>> On May 31, 12:44 pm, Thorsten Kampe <thors... at thorstenkampe.de> wrote:
>> > This is a fairly general question: is there some kind of module or
>> > framework that allows building a tree like structure from certain kind
>> > of data?
>> >
>> > To be specific: I have a program that dumps the content of a LDAP
>> > directory including all properties and values and groups the result
>> > from the LDAP search by objClass.
>> >
>> > Now I was thinking: would it be possible to generate from the totally
>> > unordered output that the LDAP server gives me, a tree like
>> > representation that displays the hierarchy (omitting the values or
>> > even properties if necessary)?
>> >
>> > It should be a textual representation of what you see in GUI programs
>> > like "LDAP Administrator" but the output should be represented like
>> > the "tree" program in Linux or Windows "tree.com".
>>
>> I think you might be able to use ElementTree. The website for the
>> module claims it can be used for hierarchical data structures:
>> http://effbot.org/zone/element-index.htm
>>
>> Did you look at any of the Python LDAP tools? They might be useful
>> too. See some of the links below:
>> http://linuxjournal.com/article/6988
>> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/303336
>>
>> Hopefully they'll give some guidance. I've not used LDAP myself as of
>> yet.
>
> I already have the LDAP output part working - with python-ldap under
> Cygwin - and I generate HMTL output with markup.py. Pretty simple. But
> a tree structure output would be even prettier...
I would probably generate a DOT file to get a 2D visualization. DOT is part of
Graphviz (graphviz.org), and there are quite a few graphviz front-ends
available in Python to make DOT generation easier (pydot, yapgvb, and probably
a few others).
Albert
More information about the Python-list
mailing list