:py:mod:`dissect.esedb` ======================= .. py:module:: dissect.esedb Subpackages ----------- .. toctree:: :titlesonly: :maxdepth: 3 tools/index.rst Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 c_esedb/index.rst compression/index.rst cursor/index.rst esedb/index.rst exceptions/index.rst index/index.rst lcmapstring/index.rst page/index.rst record/index.rst sorting_table/index.rst table/index.rst Package Contents ---------------- Classes ~~~~~~~ .. autoapisummary:: dissect.esedb.EseDB .. py:class:: EseDB(fh: BinaryIO, impacket_compat: bool = False) EseDB class. Loads an ESE database from the given file handle. Optionally enable impacket compatible data output. Impacket compatibility limits what values are parsed and returns most values as a hex string. Most notably, long and multi values are not parsed. :param fh: The file-like object to open an ESE database on. :param impacket_compat: Whether to make the output impacket compatible. :raises InvalidDatabase: If the file-like object does not look like an ESE database. .. py:method:: has_small_pages() -> bool Return whether this database has small pages (<= 8K). .. py:method:: table(name: str) -> dissect.esedb.table.Table Get a table by name. :param name: The table to retrieve. .. py:method:: tables() -> list[dissect.esedb.table.Table] Get a list of all tables. .. py:method:: read_page(num: int) -> bytes Get the physical page data. :param num: The physical page number to retrieve. :raises IndexError: If the page number is out of bounds. .. py:method:: page(num: int) -> dissect.esedb.page.Page Get a logical page. The first two pages in the file are the Header and Shadow Header pages. Logical pages start at physical page 2 (zero-indexed). :param num: The logical page number to retrieve. .. py:method:: pages() -> Iterator[dissect.esedb.page.Page] Iterate over all pages. .. py:exception:: Error Bases: :py:obj:`Exception` Common base class for all non-exit exceptions. .. py:exception:: InvalidDatabase Bases: :py:obj:`Error` Common base class for all non-exit exceptions. .. py:exception:: KeyNotFoundError Bases: :py:obj:`Error` Common base class for all non-exit exceptions. .. py:exception:: NoNeighbourPageError Bases: :py:obj:`Error` Common base class for all non-exit exceptions.