Use subprocess.run() encoding argument instead of manual encode/decode

This commit is contained in:
Adam Goldsmith 2022-12-25 02:19:14 -05:00
parent 7919edce31
commit 7873b964bd

View File

@ -12,7 +12,7 @@ import requests
def sync_members(mailman_bin: Path, mailing_list: str, members: list[str]): def sync_members(mailman_bin: Path, mailing_list: str, members: list[str]):
members_data = "\n".join(members).encode('ascii') members_data = "\n".join(members)
output = subprocess.run( output = subprocess.run(
[ [
mailman_bin / "sync_members", mailman_bin / "sync_members",
@ -25,10 +25,11 @@ def sync_members(mailman_bin: Path, mailing_list: str, members: list[str]):
mailing_list, mailing_list,
], ],
input=members_data, input=members_data,
encoding="ascii",
capture_output=True, capture_output=True,
check=True, check=True,
) )
print(output.stdout.decode('ascii')) print(output.stdout)
def main(mailman_bin: Path, api: str, token: str, list_suffix: str): def main(mailman_bin: Path, api: str, token: str, list_suffix: str):
@ -38,8 +39,11 @@ def main(mailman_bin: Path, api: str, token: str, list_suffix: str):
return return
existing_lists = subprocess.run( existing_lists = subprocess.run(
[mailman_bin / "list_lists", "-b"], capture_output=True, check=True [mailman_bin / "list_lists", "-b"],
).stdout.decode('ascii').split("\n") encoding="ascii",
capture_output=True,
check=True,
).stdout.split("\n")
certification_lists = r.json() certification_lists = r.json()
for name, members in certification_lists.items(): for name, members in certification_lists.items():
list_name = name + list_suffix list_name = name + list_suffix