/usr/bin/pyxbdump is in python-pyxb 1.2.4+dfsg-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/python
from __future__ import print_function
import pyxb.namespace
import sys
import traceback
import pyxb.xmlschema.structures
import logging
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
pyxb.namespace.archive.NamespaceArchive.PreLoadArchives()
ans = pyxb.namespace.AvailableNamespaces()
print('%d available namespaces' % (len(ans),))
for ns in ans:
for mr in ns.moduleRecords():
mp = mr.modulePath()
if mp is None:
mp = '<builtin>'
fp = '<builtin>'
uid = 'N/A'
if mr.archive() is not None:
fp = mr.archive().archivePath()
uid = mr.archive().generationUID()
print("%s\t%s\t%s\t%s %s" % (ns, mp, fp, (mr.isPublic() and 'Public') or 'private', uid))
sys.exit(0)
for fn in sys.argv[1:]:
nsa = None
try:
nsa = pyxb.namespace.archive.NamespaceArchive.ForPath(fn)
except pyxb.NamespaceArchiveError as e:
print('%s: %s' % (fn, e))
continue
print('%s : %d namespaces:' % (fn, len(nsa.namespaces())))
nsa.readNamespaces()
for mr in nsa.moduleRecords():
print(' %s : %s, module-path=%s, %s' % (mr.namespace(), mr.generationUID(), mr.modulePath(), (mr.isPublic() and 'public') or 'private'))
for origin in mr.origins():
print(' + %s' % (origin,))
for (c, k) in six.iteritems(origin.categoryMembers()):
print(' - %s %d items' % (c, len(k)))
# LocalVariables:
# mode:python
# End:
|