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,9 +477,7 @@ class FType_Word(FType_Base): | ||
| 477 | name = 'MS Word (generic)' | 477 | name = 'MS Word (generic)' |
| 478 | longname = 'MS Word Document or Template (generic)' | 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 | application = APP.MSWORD | 481 | application = APP.MSWORD |
| 484 | filetype = FTYPE.WORD97 | 482 | filetype = FTYPE.WORD97 |
| 485 | name = 'MS Word 97 Document' | 483 | name = 'MS Word 97 Document' |
| @@ -492,7 +490,7 @@ class FType_Word97(FType_OLE_CLSID_Base): | @@ -492,7 +490,7 @@ class FType_Word97(FType_OLE_CLSID_Base): | ||
| 492 | may_contain_ole = True | 490 | may_contain_ole = True |
| 493 | # TODO: if no CLSID, check stream 'WordDocument' | 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 | application = APP.MSWORD | 494 | application = APP.MSWORD |
| 497 | filetype = FTYPE.WORD6 | 495 | filetype = FTYPE.WORD6 |
| 498 | name = 'MS Word 6 Document' | 496 | name = 'MS Word 6 Document' |
| @@ -503,28 +501,34 @@ class FType_Word6(FType_OLE_CLSID_Base): | @@ -503,28 +501,34 @@ class FType_Word6(FType_OLE_CLSID_Base): | ||
| 503 | PUID = 'fmt/39' | 501 | PUID = 'fmt/39' |
| 504 | may_contain_ole = True | 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 | application = APP.MSWORD | 511 | application = APP.MSWORD |
| 508 | filetype = FTYPE.WORD2007_DOCX | 512 | filetype = FTYPE.WORD2007_DOCX |
| 509 | name = 'MS Word 2007+ Document' | 513 | name = 'MS Word 2007+ Document' |
| 510 | longname = 'MS Word 2007+ Document (.docx)' | 514 | longname = 'MS Word 2007+ Document (.docx)' |
| 511 | extensions = ['docx'] | 515 | extensions = ['docx'] |
| 512 | 516 | ||
| 513 | -class FType_Word2007_Macro(FType_Generic_OpenXML): | 517 | +class FType_Word2007_Macro(FType_Word2007_Base): |
| 514 | application = APP.MSWORD | 518 | application = APP.MSWORD |
| 515 | filetype = FTYPE.WORD2007_DOCM | 519 | filetype = FTYPE.WORD2007_DOCM |
| 516 | name = 'MS Word 2007+ Macro-Enabled Document' | 520 | name = 'MS Word 2007+ Macro-Enabled Document' |
| 517 | longname = 'MS Word 2007+ Macro-Enabled Document (.docm)' | 521 | longname = 'MS Word 2007+ Macro-Enabled Document (.docm)' |
| 518 | extensions = ['docm'] | 522 | extensions = ['docm'] |
| 519 | 523 | ||
| 520 | -class FType_Word2007_Template(FType_Generic_OpenXML): | 524 | +class FType_Word2007_Template(FType_Word2007_Base): |
| 521 | application = APP.MSWORD | 525 | application = APP.MSWORD |
| 522 | filetype = FTYPE.WORD2007_DOTX | 526 | filetype = FTYPE.WORD2007_DOTX |
| 523 | name = 'MS Word 2007+ Template' | 527 | name = 'MS Word 2007+ Template' |
| 524 | longname = 'MS Word 2007+ Template (.dotx)' | 528 | longname = 'MS Word 2007+ Template (.dotx)' |
| 525 | extensions = ['dotx'] | 529 | extensions = ['dotx'] |
| 526 | 530 | ||
| 527 | -class FType_Word2007_Template_Macro(FType_Generic_OpenXML): | 531 | +class FType_Word2007_Template_Macro(FType_Word2007_Base): |
| 528 | application = APP.MSWORD | 532 | application = APP.MSWORD |
| 529 | filetype = FTYPE.WORD2007_DOTM | 533 | filetype = FTYPE.WORD2007_DOTM |
| 530 | name = 'MS Word 2007+ Macro-Enabled Template' | 534 | name = 'MS Word 2007+ Macro-Enabled Template' |