Add support for all RWZ rule element types from the spec#2
Open
YatinAdityaT wants to merge 1 commit intoasklar:mainfrom
Open
Add support for all RWZ rule element types from the spec#2YatinAdityaT wants to merge 1 commit intoasklar:mainfrom
YatinAdityaT wants to merge 1 commit intoasklar:mainfrom
Conversation
The original parser only handled ~15 rule element IDs and would crash on most real-world .rwz files. This adds support for ~60 element types covering all conditions, actions, and exceptions documented in the OutlookRulesReader spec by @hughbe. Changes: - Add 8 new data parser classes: ImportanceRuleElementData, SensitivityRuleElementData, CategoriesListRuleElementData, PathRuleElementData, OnThisComputerOnlyRuleElementData, SizeInSpecificRangeRuleElementData, DisplayMessageRuleElementData, DeferDeliveryRuleElementData - Expand the RuleElement switch from 15 to 60+ element IDs - Accept input/output paths as CLI arguments instead of hardcoded paths - Improve error message for unknown element types to show hex ID
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.rwzfiles due to unrecognized element IDs.ImportanceRuleElementData,SensitivityRuleElementData,CategoriesListRuleElementData,PathRuleElementData,OnThisComputerOnlyRuleElementData,SizeInSpecificRangeRuleElementData,DisplayMessageRuleElementData,DeferDeliveryRuleElementData.node index.js <input.rwz> [output.json]) instead of hardcodedC:/Temp/Untitled.rwz.Motivation
Tested against a real-world Outlook 2019
.rwzexport with 86 rules. The original parser failed immediately on element0x14C(mark as read). After this change, all 86 rules parse successfully.Test plan
.rwzfile with 86 rules containing diverse conditions, actions, and exceptions.rwzfixtures in the future