mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-04-22 15:51:08 +00:00
Rename tool, and make output less verbose by default
This commit is contained in:
parent
3ea5038905
commit
710aa8aa5a
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -18,11 +18,11 @@ ubuntu-dev-tools (0.137) UNRELEASED; urgency=low
|
||||
* mk-sbuild, pbuilder-dist, ubuntu-build: Add armhf.
|
||||
* pull-debian-source, pull-lp-source: Resolve the source package (via DDE),
|
||||
if a binary package was requested (LP: #617349)
|
||||
* New Tool: who-can-upload (LP: #876554)
|
||||
* New Tool: upload-permission: Query upload permissions (LP: #876554)
|
||||
|
||||
[ Andreas Moog ]
|
||||
* sponsor-patch: Check permission to unsubscribe sponsors-team (LP: #896884)
|
||||
* grep-merges: We already require a UTF-8 enabled terminal, so encode
|
||||
* grep-merges: We already require a UTF-8 enabled terminal, so encode
|
||||
package and uploader name in UTF-8 (LP: #694388)
|
||||
|
||||
-- Andreas Moog <amoog@ubuntu.com> Wed, 30 Nov 2011 21:04:39 +0100
|
||||
|
@ -15,6 +15,7 @@
|
||||
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
import optparse
|
||||
import sys
|
||||
|
||||
from ubuntutools.lp.lpapicache import (Launchpad, Distribution, PersonTeam,
|
||||
Packageset,
|
||||
@ -26,15 +27,22 @@ def main():
|
||||
parser.add_option('-r', '--release', default=None, metavar='RELEASE',
|
||||
help='Use RELEASE, rather than the current development '
|
||||
'release')
|
||||
parser.add_option('-a', '--list-uploaders',
|
||||
default=False, action='store_true',
|
||||
help='List all the people/teams with upload rights')
|
||||
parser.add_option('-t', '--list-team-members',
|
||||
default=False, action='store_true',
|
||||
help='List all team members of teams with upload rights')
|
||||
help='List all team members of teams with upload rights '
|
||||
'(implies --list-uploaders)')
|
||||
options, args = parser.parse_args()
|
||||
|
||||
if len(args) != 1:
|
||||
parser.error("One (and only one) package must be specified")
|
||||
package = args[0]
|
||||
|
||||
if options.list_team_members:
|
||||
options.list_uploaders = True
|
||||
|
||||
# Need to be logged in to see uploaders:
|
||||
Launchpad.login()
|
||||
|
||||
@ -50,41 +58,48 @@ def main():
|
||||
|
||||
spph = archive.getSourcePackage(package)
|
||||
component = spph.getComponent()
|
||||
component_uploader = archive.getUploadersForComponent(
|
||||
component_name=component)[0]
|
||||
print "All upload permissions for %s:" % package
|
||||
print
|
||||
print "Component (%s)" % component
|
||||
print "============" + ("=" * len(component))
|
||||
print_uploaders([component_uploader], options.list_team_members)
|
||||
|
||||
packagesets = sorted(Packageset.setsIncludingSource(distroseries=series,
|
||||
sourcepackagename=package))
|
||||
if packagesets:
|
||||
if options.list_uploaders:
|
||||
component_uploader = archive.getUploadersForComponent(
|
||||
component_name=component)[0]
|
||||
print "All upload permissions for %s:" % package
|
||||
print
|
||||
print "Packagesets"
|
||||
print "==========="
|
||||
for packageset in packagesets:
|
||||
print "Component (%s)" % component
|
||||
print "============" + ("=" * len(component))
|
||||
print_uploaders([component_uploader], options.list_team_members)
|
||||
|
||||
packagesets = sorted(Packageset.setsIncludingSource(
|
||||
distroseries=series,
|
||||
sourcepackagename=package))
|
||||
if packagesets:
|
||||
print
|
||||
print "%s:" % packageset.name
|
||||
print_uploaders(archive.getUploadersForPackageset(
|
||||
packageset=packageset), options.list_team_members)
|
||||
print "Packagesets"
|
||||
print "==========="
|
||||
for packageset in packagesets:
|
||||
print
|
||||
print "%s:" % packageset.name
|
||||
print_uploaders(archive.getUploadersForPackageset(
|
||||
packageset=packageset), options.list_team_members)
|
||||
|
||||
ppu_uploaders = archive.getUploadersForPackage(source_package_name=package)
|
||||
if ppu_uploaders:
|
||||
ppu_uploaders = archive.getUploadersForPackage(
|
||||
source_package_name=package)
|
||||
if ppu_uploaders:
|
||||
print
|
||||
print "Per-Package-Uploaders"
|
||||
print "====================="
|
||||
print
|
||||
print_uploaders(ppu_uploaders, options.list_team_members)
|
||||
print
|
||||
print "Per-Package-Uploaders"
|
||||
print "====================="
|
||||
print
|
||||
print_uploaders(ppu_uploaders, options.list_team_members)
|
||||
|
||||
print
|
||||
if PersonTeam.me.canUploadPackage(archive, series, package, component):
|
||||
print "You can upload this package"
|
||||
print "You can upload this package."
|
||||
else:
|
||||
print "You can not upload this package, yourself."
|
||||
print ("But you can still contribute to it via the sponsorship "
|
||||
"process: https://wiki.ubuntu.com/SponsorshipProcess")
|
||||
if not options.list_uploaders:
|
||||
print ("To see who has the necessary upload rights, "
|
||||
"use the --list-uploaders option.")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def print_uploaders(uploaders, expand_teams=False, prefix=''):
|
Loading…
x
Reference in New Issue
Block a user