Commit a972bb3980e2fb36bba296fe380b470dbddded2b
1 parent
0cdbb2d3
olemeta: ensure stdout can handle unicode
This replaces an earlier partial custom solution
Showing
1 changed file
with
4 additions
and
4 deletions
oletools/olemeta.py
| ... | ... | @@ -79,6 +79,7 @@ if not _parent_dir in sys.path: |
| 79 | 79 | import olefile |
| 80 | 80 | from oletools.thirdparty import xglob |
| 81 | 81 | from oletools.thirdparty.tablestream import tablestream |
| 82 | +from oletools.common import ensure_stdout_handles_unicode | |
| 82 | 83 | |
| 83 | 84 | |
| 84 | 85 | #=== MAIN ================================================================= |
| ... | ... | @@ -88,13 +89,12 @@ def process_ole(ole): |
| 88 | 89 | meta = ole.get_metadata() |
| 89 | 90 | |
| 90 | 91 | # console output with UTF8 encoding: |
| 91 | - # It looks like we do not need the UTF8 codec anymore, both for Python 2 and 3 | |
| 92 | - console_utf8 = sys.stdout #codecs.getwriter('utf8')(sys.stdout) | |
| 92 | + ensure_stdout_handles_unicode() | |
| 93 | 93 | |
| 94 | 94 | # TODO: move similar code to a function |
| 95 | 95 | |
| 96 | 96 | print('Properties from the SummaryInformation stream:') |
| 97 | - t = tablestream.TableStream([21, 30], header_row=['Property', 'Value'], outfile=console_utf8) | |
| 97 | + t = tablestream.TableStream([21, 30], header_row=['Property', 'Value']) | |
| 98 | 98 | for prop in meta.SUMMARY_ATTRIBS: |
| 99 | 99 | value = getattr(meta, prop) |
| 100 | 100 | if value is not None: |
| ... | ... | @@ -111,7 +111,7 @@ def process_ole(ole): |
| 111 | 111 | print('') |
| 112 | 112 | |
| 113 | 113 | print('Properties from the DocumentSummaryInformation stream:') |
| 114 | - t = tablestream.TableStream([21, 30], header_row=['Property', 'Value'], outfile=console_utf8) | |
| 114 | + t = tablestream.TableStream([21, 30], header_row=['Property', 'Value']) | |
| 115 | 115 | for prop in meta.DOCSUM_ATTRIBS: |
| 116 | 116 | value = getattr(meta, prop) |
| 117 | 117 | if value is not None: | ... | ... |