jdennis%redhat.com caf62c0df9 commit for release 0.12, see doc/Changelog for details.
Major enhancement is PKCS12 support.


git-svn-id: svn://10.0.0.236/trunk@262367 18797224-902f-48f8-a5cc-f745e15eee43
2011-06-06 15:21:13 +00:00

59 lines
1.8 KiB
Python
Executable File

#!/usr/bin/python
import types
import inspect
import nss.io as io
import nss.ssl as ssl
import nss.nss as nss
def isint(object):
"Return true if the object is an integer."
return isinstance(object, types.IntType)
def isstring(object):
"Return true if the object is a string."
return isinstance(object, types.StringTypes)
class Package:
def __init__(self, modules):
self.modules = modules
class Class:
def __init__(self, cls):
self.cls = cls
self.name = cls.__name__
self.methods = [x[0] for x in inspect.getmembers(self.cls, inspect.ismethoddescriptor) if not x[0].startswith('_')]
self.properties = [x[0] for x in inspect.getmembers(cls, inspect.isgetsetdescriptor)]
class Module:
def __init__(self, module):
self.module = module
self.name = module.__name__
self.classes = [Class(x) for x in [x[1] for x in inspect.getmembers(self.module, inspect.isclass)]]
self.functions = [x[0] for x in inspect.getmembers(self.module, inspect.isbuiltin)]
self.ints = [x[0] for x in inspect.getmembers(self.module, isint)]
self.strings = [x[0] for x in inspect.getmembers(self.module, isstring)]
def dump(self):
for cls in self.classes:
print '%s.class.%s' % (self.name, cls.name)
for prop in cls.properties:
print '%s.property.%s.%s' % (self.name, cls.name, prop)
for method in cls.methods:
print '%s.method.%s.%s()' % (self.name, cls.name, method)
for func in self.functions:
print "%s.function.%s()" % (self.name, func)
for i in self.ints:
print "%s.int.%s" % (self.name, i)
for s in self.strings:
print "%s.str.%s" % (self.name, s)
for m in (io, ssl, nss):
mod = Module(m)
mod.dump()