Commit a93b21091c44b599da919d325f730d155ba8f843
1 parent
faeb2aed
record_base: simplify bugfixing by offering more verbosity
Showing
1 changed file
with
7 additions
and
2 deletions
oletools/record_base.py
| @@ -74,6 +74,7 @@ except ImportError: | @@ -74,6 +74,7 @@ except ImportError: | ||
| 74 | # Helpers | 74 | # Helpers |
| 75 | ############################################################################### | 75 | ############################################################################### |
| 76 | 76 | ||
| 77 | +OleFileIO = olefile.OleFileIO | ||
| 77 | STGTY_EMPTY = olefile.STGTY_EMPTY # 0 | 78 | STGTY_EMPTY = olefile.STGTY_EMPTY # 0 |
| 78 | STGTY_STORAGE = olefile.STGTY_STORAGE # 1 | 79 | STGTY_STORAGE = olefile.STGTY_STORAGE # 1 |
| 79 | STGTY_STREAM = olefile.STGTY_STREAM # 2 | 80 | STGTY_STREAM = olefile.STGTY_STREAM # 2 |
| @@ -92,6 +93,10 @@ ENTRY_TYPE2STR = { | @@ -92,6 +93,10 @@ ENTRY_TYPE2STR = { | ||
| 92 | STGTY_SUBSTREAM: 'substream' | 93 | STGTY_SUBSTREAM: 'substream' |
| 93 | } | 94 | } |
| 94 | 95 | ||
| 96 | +def enable_olefile_logging(): | ||
| 97 | + """ enable logging olefile e.g., to get debug info from OleFileIO """ | ||
| 98 | + olefile.enable_logging() | ||
| 99 | + | ||
| 95 | 100 | ||
| 96 | ############################################################################### | 101 | ############################################################################### |
| 97 | # Base Classes | 102 | # Base Classes |
| @@ -321,13 +326,13 @@ class OleRecordBase(object): | @@ -321,13 +326,13 @@ class OleRecordBase(object): | ||
| 321 | 326 | ||
| 322 | 327 | ||
| 323 | def test(filenames, ole_file_class=OleRecordFile, | 328 | def test(filenames, ole_file_class=OleRecordFile, |
| 324 | - must_parse=None, do_per_record=None): | 329 | + must_parse=None, do_per_record=None, verbose=False): |
| 325 | """ parse all given file names and print rough structure | 330 | """ parse all given file names and print rough structure |
| 326 | 331 | ||
| 327 | if an error occurs while parsing a stream of type in must_parse, the error | 332 | if an error occurs while parsing a stream of type in must_parse, the error |
| 328 | will be raised. Otherwise a message is printed | 333 | will be raised. Otherwise a message is printed |
| 329 | """ | 334 | """ |
| 330 | - logging.basicConfig(level=logging.INFO) | 335 | + logging.basicConfig(level=logging.DEBUG if verbose else logging.INFO) |
| 331 | if do_per_record is None: | 336 | if do_per_record is None: |
| 332 | def do_per_record(record): | 337 | def do_per_record(record): |
| 333 | pass # do nothing | 338 | pass # do nothing |