(self, table_name)
| 128 | return tables_mapping |
| 129 | |
| 130 | def get_table(self, table_name): |
| 131 | table_offset = self.catalog.get(table_name) |
| 132 | if not table_offset: |
| 133 | LOGGER.error(f"Could not find table {table_name} in DataBase") |
| 134 | return |
| 135 | table_offset = table_offset * self.page_size |
| 136 | table = self._tables_with_data.get(table_offset) |
| 137 | if not table: |
| 138 | table_def = self._table_defs.get(table_offset) |
| 139 | if table_def: |
| 140 | table = TableObj(offset=table_offset, val=table_def) |
| 141 | LOGGER.info(f"Table {table_name} has no data") |
| 142 | else: |
| 143 | LOGGER.error(f"Could not find table {table_name} offset {table_offset}") |
| 144 | return |
| 145 | |
| 146 | # Try to get extra metadata for the table if it exists in the MSysObjects table |
| 147 | props = None |
| 148 | if table_name != "MSysObjects" and table_name in self.extra_props: |
| 149 | props = self.extra_props[table_name] |
| 150 | |
| 151 | return AccessTable(table, self.version, self.page_size, self._data_pages, self._table_defs, props) |
| 152 | |
| 153 | def parse_lvprop(self, lvprop_raw): |
| 154 | try: |
no test coverage detected