requestsync: support pocket parameter in get_ubuntu_srcpkg

The command `requestsync --email -d sid <package> <target>` fails with
the following stacktrace:

```
Traceback (most recent call last):
  File "/usr/bin/requestsync", line 402, in <module>
    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
This commit is contained in:
Benjamin Drung 2025-12-03 16:25:28 +01:00
parent 38988ed183
commit bf9ead2204
2 changed files with 12 additions and 3 deletions

View File

@ -46,7 +46,7 @@ Logger = getLogger()
# #
def main(): def main() -> None:
# Our usage options. # Our usage options.
usage = "%(prog)s [options] <source package> [<target release> [base version]]" usage = "%(prog)s [options] <source package> [<target release> [base version]]"
parser = argparse.ArgumentParser(usage=usage) parser = argparse.ArgumentParser(usage=usage)

View File

@ -62,8 +62,17 @@ def get_debian_srcpkg(name, release):
return DebianSourcePackage(package=name, series=release).lp_spph return DebianSourcePackage(package=name, series=release).lp_spph
def get_ubuntu_srcpkg(name, release): def get_ubuntu_srcpkg(name, release, pocket="Proposed"):
return UbuntuSourcePackage(package=name, series=release).lp_spph 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): def need_sponsorship(name, component, release):