Fix the version lock update code (#1064)

* Fix the version lock update code
* Add Rule.lock_info() method
This commit is contained in:
Ross Wolf
2021-03-25 14:48:31 -06:00
committed by GitHub
parent c0af222e7e
commit 8ee1b2ffd4
2 changed files with 9 additions and 1 deletions
+6 -1
View File
@@ -112,7 +112,12 @@ def manage_versions(rules: List[TOMLRule], deprecated_rules: list = None, curren
if save_changes:
if changed_rules or (new_rules and add_new):
current_versions.update(new_rules if add_new else {})
if add_new:
for rule in new_rules:
current_versions[rule.id] = rule.contents.lock_info()
for rule in changed_rules:
current_versions[rule.id] = rule.contents.lock_info()
current_versions = OrderedDict(sorted(current_versions.items(), key=lambda x: x[1]['rule_name']))
save_etc_dump(current_versions, 'version.lock.json')
+3
View File
@@ -324,6 +324,9 @@ class TOMLRuleContents(MarshmallowDataclassMixin):
def name(self) -> str:
return self.data.name
def lock_info(self) -> dict:
return {"rule_name": self.name, "sha256": self.sha256(), "version": self.autobumped_version}
@property
def is_dirty(self) -> Optional[bool]:
"""Determine if the rule has changed since its version was locked."""