

import re

import simtk.chem.openmm as mm


def getDocstring(dictObject, keys):
    outStrings={}
    for k, v in dictObject.items():
        if k.find('_')==0: continue
        try:
            subDictObject=v.__dict__
        except:
            continue
        subKeys="%s::%s" % (keys, k)
        try:
            docString=re.sub('\n', ' ', v.__doc__.strip())
            docString=re.sub('  *', ' ', docString)
            outStrings[subKeys]= docString[:60]
        except:
            pass
        getDocstring(subDictObject, subKeys)
    keys=sorted(outStrings.keys())
    for key in keys:
        print key
        print outStrings[key]
        print


if __name__=='__main__':
    getDocstring(mm.__dict__, 'mm')
    print
    print "mm.__dict__['NonbondedForce'].__dict__['getParticleParameters'].__doc__:"
    print mm.__dict__['NonbondedForce'].__dict__['getParticleParameters'].__doc__




