From: Simon Glass <sjg@chromium.org>
After completing a review, add a 'reviewed' workflow entry and a
follow-up todo for 7 days later. This makes reviews visible in
'patman wf ls' alongside sent series, so the user can track which
series need follow-up.
Signed-off-by: Simon Glass <sjg@chromium.org>
---
tools/patman/review.py | 2 ++
tools/patman/workflow.py | 19 +++++++++++++++++++
2 files changed, 21 insertions(+)
@@ -32,6 +32,7 @@ from u_boot_pylib import tout
from patman import database
from patman import gmail
from patman import patchstream
+from patman import workflow
try:
from claude_agent_sdk import ClaudeAgentOptions
@@ -1821,6 +1822,7 @@ def do_review(args, pwork, cser):
ctx.comments_path = _write_comments_file(series_data, pwork)
_run_and_store_reviews(ctx, args)
+ workflow.reviewed(cser, ctx.series_id, ctx.svid)
_git_restore(orig_branch, had_stash, ctx.repo_path)
orig_branch = None
@@ -13,6 +13,7 @@ class Wtype(str, enum.Enum):
"""Types of workflow entry"""
SENT = 'sent'
TODO = 'todo'
+ REVIEWED = 'reviewed'
def friendly_time(now, when):
@@ -61,6 +62,24 @@ def sent(cser, series_id, ser_ver_id=None):
cser.commit()
+def reviewed(cser, series_id, ser_ver_id=None):
+ """Record that a series was reviewed and create a follow-up todo
+
+ Args:
+ cser (CseriesHelper): Series helper with open database
+ series_id (int): ID of the series that was reviewed
+ ser_ver_id (int or None): ID of the ser_ver record
+ """
+ ts = cser.get_now().strftime('%Y-%m-%d %H:%M:%S')
+ cser.db.workflow_archive(Wtype.REVIEWED, series_id)
+ cser.db.workflow_add(Wtype.REVIEWED, series_id, ts, ser_ver_id=ser_ver_id)
+ when = cser.get_now() + timedelta(days=7)
+ todo_ts = when.strftime('%Y-%m-%d %H:%M:%S')
+ cser.db.workflow_archive(Wtype.TODO, series_id)
+ cser.db.workflow_add(Wtype.TODO, series_id, todo_ts)
+ cser.commit()
+
+
def todo(cser, series, days):
"""Mark a series as a todo item after a number of days