From bf9ead2204ef41ad91f88c4aed274959f0d4a660 Mon Sep 17 00:00:00 2001 From: Benjamin Drung Date: Wed, 3 Dec 2025 16:25:28 +0100 Subject: [PATCH] requestsync: support pocket parameter in get_ubuntu_srcpkg The command `requestsync --email -d sid ` fails with the following stacktrace: ``` Traceback (most recent call last): File "/usr/bin/requestsync", line 402, in main() File "/usr/bin/requestsync", line 225, in main ubuntu_srcpkg = get_ubuntu_srcpkg(srcpkg, args.release, "Proposed") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: get_ubuntu_srcpkg() takes 2 positional arguments but 3 were given ``` LP: #2115990 Fixes: 5eb960dd3fe57daa16d8cee8cefee035cebb8e5d --- requestsync | 2 +- ubuntutools/requestsync/mail.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/requestsync b/requestsync index e86a053..f21f335 100755 --- a/requestsync +++ b/requestsync @@ -46,7 +46,7 @@ Logger = getLogger() # -def main(): +def main() -> None: # Our usage options. usage = "%(prog)s [options] [ [base version]]" parser = argparse.ArgumentParser(usage=usage) diff --git a/ubuntutools/requestsync/mail.py b/ubuntutools/requestsync/mail.py index 97316d6..aaa2c09 100644 --- a/ubuntutools/requestsync/mail.py +++ b/ubuntutools/requestsync/mail.py @@ -62,8 +62,17 @@ def get_debian_srcpkg(name, release): return DebianSourcePackage(package=name, series=release).lp_spph -def get_ubuntu_srcpkg(name, release): - return UbuntuSourcePackage(package=name, series=release).lp_spph +def get_ubuntu_srcpkg(name, release, pocket="Proposed"): + srcpkg = UbuntuSourcePackage(package=name, series=release, pocket=pocket) + try: + return srcpkg.lp_spph + except PackageNotFoundException: + if pocket != "Release": + parent_pocket = "Release" + if pocket == "Updates": + parent_pocket = "Proposed" + return get_ubuntu_srcpkg(name, release, parent_pocket) + raise def need_sponsorship(name, component, release):