%PDF- %PDF-
Direktori : /lib/python3/dist-packages/chm/ |
Current File : //lib/python3/dist-packages/chm/chmlib.py |
from collections import namedtuple from . import _chmlib import sys # Python 2 compatibility try: unicode except: unicode = str CHM_UNCOMPRESSED = 0 CHM_COMPRESSED = 1 chmUnitInfo = namedtuple('chmUnitInfo', ['start', 'length', 'space', 'flags', 'path']) def chm_open(filename): if isinstance(filename, unicode): filename = filename.encode(sys.getfilesystemencoding()) return _chmlib.chm_open(filename) def chm_close(h): _chmlib.chm_close(h) CHM_PARAM_MAX_BLOCKS_CACHED = 0 def chm_set_param(h, paramType, paramVal): _chmlib.chm_set_param(paramType, paramVal) CHM_ENUMERATE_NORMAL = 1 CHM_ENUMERATE_META = 2 CHM_ENUMERATE_SPECIAL = 4 CHM_ENUMERATE_FILES = 8 CHM_ENUMERATE_DIRS = 16 CHM_ENUMERATE_ALL = 31 CHM_ENUMERATOR_FAILURE = 0 CHM_ENUMERATOR_CONTINUE = 1 CHM_ENUMERATOR_SUCCESS = 2 def chm_enumerate(h, what, e, context): def enumerator(ctx, ui, context): return e(ctx, chmUnitInfo._make(ui), context) return _chmlib.chm_enumerate(h, what, enumerator, context) def chm_enumerate_dir(h, prefix, what, e, context): def enumerator(ctx, ui, context): return e(ctx, chmUnitInfo._make(ui), context) return _chmlib.chm_enumerate_dir(h, prefix, what, enumerator, context) CHM_RESOLVE_SUCCESS = 0 CHM_RESOLVE_FAILURE = 1 def chm_resolve_object(h, path): out = _chmlib.chm_resolve_object(h, path) if out is not None: return CHM_RESOLVE_SUCCESS, chmUnitInfo._make(out) return CHM_RESOLVE_FAILURE, None def chm_retrieve_object(h, ui, addr, length): buf = _chmlib.chm_retrieve_object(h, ui.start, ui.length, ui.space, addr, length) if buf is None: return 0, None return len(buf), buf