Commit 22b3af5746686ab74383cf9ad634a2d98785abae
1 parent
6e545fc8
ftguess: Make FType_Word super class of word types
This was a TODO which kept FileTypeGuesser.is_word from working properly.
Showing
1 changed file
with
12 additions
and
8 deletions
oletools/ftguess.py
| ... | ... | @@ -477,9 +477,7 @@ class FType_Word(FType_Base): |
| 477 | 477 | name = 'MS Word (generic)' |
| 478 | 478 | longname = 'MS Word Document or Template (generic)' |
| 479 | 479 | |
| 480 | -# TODO: all word FTypes should inherit from FType_Word | |
| 481 | - | |
| 482 | -class FType_Word97(FType_OLE_CLSID_Base): | |
| 480 | +class FType_Word97(FType_OLE_CLSID_Base, FType_Word): | |
| 483 | 481 | application = APP.MSWORD |
| 484 | 482 | filetype = FTYPE.WORD97 |
| 485 | 483 | name = 'MS Word 97 Document' |
| ... | ... | @@ -492,7 +490,7 @@ class FType_Word97(FType_OLE_CLSID_Base): |
| 492 | 490 | may_contain_ole = True |
| 493 | 491 | # TODO: if no CLSID, check stream 'WordDocument' |
| 494 | 492 | |
| 495 | -class FType_Word6(FType_OLE_CLSID_Base): | |
| 493 | +class FType_Word6(FType_OLE_CLSID_Base, FType_Word): | |
| 496 | 494 | application = APP.MSWORD |
| 497 | 495 | filetype = FTYPE.WORD6 |
| 498 | 496 | name = 'MS Word 6 Document' |
| ... | ... | @@ -503,28 +501,34 @@ class FType_Word6(FType_OLE_CLSID_Base): |
| 503 | 501 | PUID = 'fmt/39' |
| 504 | 502 | may_contain_ole = True |
| 505 | 503 | |
| 506 | -class FType_Word2007(FType_Generic_OpenXML): | |
| 504 | +class FType_Word2007_Base(FType_Generic_OpenXML, FType_Word): | |
| 505 | + application = APP.MSWORD | |
| 506 | + name = 'MS Word 2007+ File' | |
| 507 | + longname = 'MS Word 2007+ File (.doc?)' | |
| 508 | + | |
| 509 | + | |
| 510 | +class FType_Word2007(FType_Word2007_Base): | |
| 507 | 511 | application = APP.MSWORD |
| 508 | 512 | filetype = FTYPE.WORD2007_DOCX |
| 509 | 513 | name = 'MS Word 2007+ Document' |
| 510 | 514 | longname = 'MS Word 2007+ Document (.docx)' |
| 511 | 515 | extensions = ['docx'] |
| 512 | 516 | |
| 513 | -class FType_Word2007_Macro(FType_Generic_OpenXML): | |
| 517 | +class FType_Word2007_Macro(FType_Word2007_Base): | |
| 514 | 518 | application = APP.MSWORD |
| 515 | 519 | filetype = FTYPE.WORD2007_DOCM |
| 516 | 520 | name = 'MS Word 2007+ Macro-Enabled Document' |
| 517 | 521 | longname = 'MS Word 2007+ Macro-Enabled Document (.docm)' |
| 518 | 522 | extensions = ['docm'] |
| 519 | 523 | |
| 520 | -class FType_Word2007_Template(FType_Generic_OpenXML): | |
| 524 | +class FType_Word2007_Template(FType_Word2007_Base): | |
| 521 | 525 | application = APP.MSWORD |
| 522 | 526 | filetype = FTYPE.WORD2007_DOTX |
| 523 | 527 | name = 'MS Word 2007+ Template' |
| 524 | 528 | longname = 'MS Word 2007+ Template (.dotx)' |
| 525 | 529 | extensions = ['dotx'] |
| 526 | 530 | |
| 527 | -class FType_Word2007_Template_Macro(FType_Generic_OpenXML): | |
| 531 | +class FType_Word2007_Template_Macro(FType_Word2007_Base): | |
| 528 | 532 | application = APP.MSWORD |
| 529 | 533 | filetype = FTYPE.WORD2007_DOTM |
| 530 | 534 | name = 'MS Word 2007+ Macro-Enabled Template' | ... | ... |