* [PATCH v3 1/1] ty: Allow users to specify whether thank-yous are sent to themselves
@ 2025-05-09 9:03 Lee Jones
2025-05-22 7:46 ` Lee Jones
0 siblings, 1 reply; 2+ messages in thread
From: Lee Jones @ 2025-05-09 9:03 UTC (permalink / raw)
To: lee, konstantin; +Cc: tools
The motivation behind this change was that thank-yous weren't showing up
in maintainer's inboxes. This is a problem because some of us the
presence of these mails to indicate that particular sets or individual
patches have been applied or not.
Provide command line option '--me-too' to override the default
behaviour. If this is not specified, there are no functional changes.
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217672
Signed-off-by: Lee Jones <lee@kernel.org>
---
src/b4/command.py | 2 ++
src/b4/ty.py | 19 ++++++++++---------
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/b4/command.py b/src/b4/command.py
index 476fc13565a1..f41b6ed86c74 100644
--- a/src/b4/command.py
+++ b/src/b4/command.py
@@ -266,6 +266,8 @@ def setup_parser() -> argparse.ArgumentParser:
help='Print out emails instead of sending them')
sp_ty.add_argument('--pw-set-state', default=None,
help='Set this patchwork state instead of default (use with -a, -t or -d)')
+ sp_ty.add_argument('--me-too', action='store_true', dest='metoo', default=False,
+ help='Send a copy of the thanks mail to yourself - ensures a copy lands in your inbox')
sp_ty.set_defaults(func=cmd_ty)
# b4 diff
diff --git a/src/b4/ty.py b/src/b4/ty.py
index 021588ff9e55..0805914044f4 100644
--- a/src/b4/ty.py
+++ b/src/b4/ty.py
@@ -78,14 +78,15 @@ def git_get_commit_message(gitdir: Optional[str], rev: str) -> Tuple[int, Union[
return b4.git_run_command(gitdir, args)
-def make_reply(reply_template: str, jsondata: dict, gitdir: Optional[str]) -> email.message.EmailMessage:
+def make_reply(reply_template: str, jsondata: dict, gitdir: Optional[str], cmdargs: argparse.Namespace) -> email.message.EmailMessage:
msg = email.message.EmailMessage()
msg['From'] = '%s <%s>' % (jsondata['myname'], jsondata['myemail'])
excludes = b4.get_excluded_addrs()
newto = b4.cleanup_email_addrs([(jsondata['fromname'], jsondata['fromemail'])], excludes, gitdir)
# Exclude ourselves and original sender from allto or allcc
- excludes.add(jsondata['myemail'])
+ if not cmdargs.metoo:
+ excludes.add(jsondata['myemail'])
excludes.add(jsondata['fromemail'])
allto = b4.cleanup_email_addrs(utils.getaddresses([jsondata['to']]), excludes, gitdir)
allcc = b4.cleanup_email_addrs(utils.getaddresses([jsondata['cc']]), excludes, gitdir)
@@ -270,7 +271,7 @@ def set_branch_details(gitdir: Optional[str], branch: str, jsondata: dict, confi
return jsondata, config
-def generate_pr_thanks(gitdir: Optional[str], jsondata: dict, branch: str) -> email.message.EmailMessage:
+def generate_pr_thanks(gitdir: Optional[str], jsondata: dict, branch: str, cmdargs: argparse.Namespace) -> email.message.EmailMessage:
config = b4.get_main_config()
jsondata, config = set_branch_details(gitdir, branch, jsondata, config)
thanks_template = DEFAULT_PR_TEMPLATE
@@ -295,11 +296,11 @@ def generate_pr_thanks(gitdir: Optional[str], jsondata: dict, branch: str) -> em
if not cidmask:
cidmask = 'merge commit: %s'
jsondata['summary'] = cidmask % jsondata['merge_commit_id']
- msg = make_reply(thanks_template, jsondata, gitdir)
+ msg = make_reply(thanks_template, jsondata, gitdir, cmdargs)
return msg
-def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, since: str) -> email.message.EmailMessage:
+def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, cmdargs: argparse.Namespace) -> email.message.EmailMessage:
config = b4.get_main_config()
jsondata, config = set_branch_details(gitdir, branch, jsondata, config)
thanks_template = DEFAULT_AM_TEMPLATE
@@ -312,7 +313,7 @@ def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, since
config['thanks-am-template'])
sys.exit(2)
if 'commits' not in jsondata:
- commits = auto_locate_series(gitdir, jsondata, branch, since)
+ commits = auto_locate_series(gitdir, jsondata, branch, cmdargs.since)
else:
commits = jsondata['commits']
@@ -343,7 +344,7 @@ def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, since
nomatch, len(commits), jsondata['subject'])
logger.critical(' Please review the resulting message')
- msg = make_reply(thanks_template, jsondata, gitdir)
+ msg = make_reply(thanks_template, jsondata, gitdir, cmdargs)
return msg
@@ -425,10 +426,10 @@ def send_messages(listing: List[Dict], branch: str, cmdargs: argparse.Namespace)
jsondata['signature'] = signature
if 'pr_commit_id' in jsondata:
# This is a pull request
- msg = generate_pr_thanks(gitdir, jsondata, branch)
+ msg = generate_pr_thanks(gitdir, jsondata, branch, cmdargs)
else:
# This is a patch series
- msg = generate_am_thanks(gitdir, jsondata, branch, cmdargs.since)
+ msg = generate_am_thanks(gitdir, jsondata, branch, cmdargs)
if msg is None:
continue
--
2.49.0.1045.g170613ef41-goog
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v3 1/1] ty: Allow users to specify whether thank-yous are sent to themselves
2025-05-09 9:03 [PATCH v3 1/1] ty: Allow users to specify whether thank-yous are sent to themselves Lee Jones
@ 2025-05-22 7:46 ` Lee Jones
0 siblings, 0 replies; 2+ messages in thread
From: Lee Jones @ 2025-05-22 7:46 UTC (permalink / raw)
To: konstantin; +Cc: tools
[INTENTIONAL TOP POST]
Is this still on your list or shall I submit a [RESEND]?
> The motivation behind this change was that thank-yous weren't showing up
> in maintainer's inboxes. This is a problem because some of us the
> presence of these mails to indicate that particular sets or individual
> patches have been applied or not.
>
> Provide command line option '--me-too' to override the default
> behaviour. If this is not specified, there are no functional changes.
>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217672
> Signed-off-by: Lee Jones <lee@kernel.org>
> ---
> src/b4/command.py | 2 ++
> src/b4/ty.py | 19 ++++++++++---------
> 2 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/src/b4/command.py b/src/b4/command.py
> index 476fc13565a1..f41b6ed86c74 100644
> --- a/src/b4/command.py
> +++ b/src/b4/command.py
> @@ -266,6 +266,8 @@ def setup_parser() -> argparse.ArgumentParser:
> help='Print out emails instead of sending them')
> sp_ty.add_argument('--pw-set-state', default=None,
> help='Set this patchwork state instead of default (use with -a, -t or -d)')
> + sp_ty.add_argument('--me-too', action='store_true', dest='metoo', default=False,
> + help='Send a copy of the thanks mail to yourself - ensures a copy lands in your inbox')
> sp_ty.set_defaults(func=cmd_ty)
>
> # b4 diff
> diff --git a/src/b4/ty.py b/src/b4/ty.py
> index 021588ff9e55..0805914044f4 100644
> --- a/src/b4/ty.py
> +++ b/src/b4/ty.py
> @@ -78,14 +78,15 @@ def git_get_commit_message(gitdir: Optional[str], rev: str) -> Tuple[int, Union[
> return b4.git_run_command(gitdir, args)
>
>
> -def make_reply(reply_template: str, jsondata: dict, gitdir: Optional[str]) -> email.message.EmailMessage:
> +def make_reply(reply_template: str, jsondata: dict, gitdir: Optional[str], cmdargs: argparse.Namespace) -> email.message.EmailMessage:
> msg = email.message.EmailMessage()
> msg['From'] = '%s <%s>' % (jsondata['myname'], jsondata['myemail'])
> excludes = b4.get_excluded_addrs()
> newto = b4.cleanup_email_addrs([(jsondata['fromname'], jsondata['fromemail'])], excludes, gitdir)
>
> # Exclude ourselves and original sender from allto or allcc
> - excludes.add(jsondata['myemail'])
> + if not cmdargs.metoo:
> + excludes.add(jsondata['myemail'])
> excludes.add(jsondata['fromemail'])
> allto = b4.cleanup_email_addrs(utils.getaddresses([jsondata['to']]), excludes, gitdir)
> allcc = b4.cleanup_email_addrs(utils.getaddresses([jsondata['cc']]), excludes, gitdir)
> @@ -270,7 +271,7 @@ def set_branch_details(gitdir: Optional[str], branch: str, jsondata: dict, confi
> return jsondata, config
>
>
> -def generate_pr_thanks(gitdir: Optional[str], jsondata: dict, branch: str) -> email.message.EmailMessage:
> +def generate_pr_thanks(gitdir: Optional[str], jsondata: dict, branch: str, cmdargs: argparse.Namespace) -> email.message.EmailMessage:
> config = b4.get_main_config()
> jsondata, config = set_branch_details(gitdir, branch, jsondata, config)
> thanks_template = DEFAULT_PR_TEMPLATE
> @@ -295,11 +296,11 @@ def generate_pr_thanks(gitdir: Optional[str], jsondata: dict, branch: str) -> em
> if not cidmask:
> cidmask = 'merge commit: %s'
> jsondata['summary'] = cidmask % jsondata['merge_commit_id']
> - msg = make_reply(thanks_template, jsondata, gitdir)
> + msg = make_reply(thanks_template, jsondata, gitdir, cmdargs)
> return msg
>
>
> -def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, since: str) -> email.message.EmailMessage:
> +def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, cmdargs: argparse.Namespace) -> email.message.EmailMessage:
> config = b4.get_main_config()
> jsondata, config = set_branch_details(gitdir, branch, jsondata, config)
> thanks_template = DEFAULT_AM_TEMPLATE
> @@ -312,7 +313,7 @@ def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, since
> config['thanks-am-template'])
> sys.exit(2)
> if 'commits' not in jsondata:
> - commits = auto_locate_series(gitdir, jsondata, branch, since)
> + commits = auto_locate_series(gitdir, jsondata, branch, cmdargs.since)
> else:
> commits = jsondata['commits']
>
> @@ -343,7 +344,7 @@ def generate_am_thanks(gitdir: Optional[str], jsondata: dict, branch: str, since
> nomatch, len(commits), jsondata['subject'])
> logger.critical(' Please review the resulting message')
>
> - msg = make_reply(thanks_template, jsondata, gitdir)
> + msg = make_reply(thanks_template, jsondata, gitdir, cmdargs)
> return msg
>
>
> @@ -425,10 +426,10 @@ def send_messages(listing: List[Dict], branch: str, cmdargs: argparse.Namespace)
> jsondata['signature'] = signature
> if 'pr_commit_id' in jsondata:
> # This is a pull request
> - msg = generate_pr_thanks(gitdir, jsondata, branch)
> + msg = generate_pr_thanks(gitdir, jsondata, branch, cmdargs)
> else:
> # This is a patch series
> - msg = generate_am_thanks(gitdir, jsondata, branch, cmdargs.since)
> + msg = generate_am_thanks(gitdir, jsondata, branch, cmdargs)
>
> if msg is None:
> continue
> --
> 2.49.0.1045.g170613ef41-goog
>
--
Lee Jones [李琼斯]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-05-22 7:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-09 9:03 [PATCH v3 1/1] ty: Allow users to specify whether thank-yous are sent to themselves Lee Jones
2025-05-22 7:46 ` Lee Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).