[pkg-perl-tools] 01/02: dpt-salsa: listmembers/listrepos: use paginator directly instead of looping over returned ids
gregor herrmann
gregoa at debian.org
Sat Feb 17 17:48:32 UTC 2018
This is an automated email from the git hooks/post-receive script.
gregoa pushed a commit to branch master
in repository pkg-perl-tools.
commit 37ca732a5844bc41a78ef5024596d5cc6377e8a6
Author: gregor herrmann <gregoa at debian.org>
Date: Sat Feb 17 16:45:38 2018 +0100
dpt-salsa: listmembers/listrepos: use paginator directly instead of looping over returned ids
nice speedup. TODO: use paginator as well where we use the list*() functions
Gbp-Dch: ignore
---
scripts/salsa | 35 +++++++++++++++++------------------
1 file changed, 17 insertions(+), 18 deletions(-)
diff --git a/scripts/salsa b/scripts/salsa
index 94e2f7a..9a69173 100755
--- a/scripts/salsa
+++ b/scripts/salsa
@@ -193,20 +193,19 @@ sub removeuser {
## listmembers()
sub listmembers {
- my $members
- = $api->paginator( 'group_members', $config{perl_team_modules_id} )
- ->all();
+ my $paginator
+ = $api->paginator( 'group_members', $config{perl_team_modules_id} );
my @userids;
- foreach ( @{$members} ) {
- push @userids, $_->{id};
+ while ( my $user = $paginator->next ) {
+ push @userids, $user->{id};
next if $opts{all};
if ( $opts{json} ) {
- say prettyjson($_);
+ say prettyjson($user);
} else {
- my $access_level = $levels_code{ $_->{access_level} };
- say "Id: " . $_->{id};
- say "Username: " . $_->{username};
- say "Name: " . $_->{name};
+ my $access_level = $levels_code{ $user->{access_level} };
+ say "Id: " . $user->{id};
+ say "Username: " . $user->{username};
+ say "Name: " . $user->{name};
say "Access level: " . $access_level;
}
}
@@ -215,23 +214,23 @@ sub listmembers {
## listrepos()
sub listrepos {
- my $repos = $api->paginator(
+ my $paginator = $api->paginator(
'group_projects',
$opts{attic}
? $config{perl_team_modules_attic_id}
: $config{perl_team_modules_packages_id},
{ order_by => 'name', sort => 'asc' }
- )->all();
+ );
my @repoids;
- foreach ( @{$repos} ) {
- push @repoids, $_->{id};
+ while ( my $repo = $paginator->next ) {
+ push @repoids, $repo->{id};
next if $opts{all};
if ( $opts{json} ) {
- say prettyjson($_);
+ say prettyjson($repo);
} else {
- say "Id: " . $_->{id};
- say "Name: " . $_->{name};
- say "URL: " . $_->{web_url};
+ say "Id: " . $repo->{id};
+ say "Name: " . $repo->{name};
+ say "URL: " . $repo->{web_url};
}
}
return @repoids;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/pkg-perl-tools.git
More information about the Pkg-perl-cvs-commits
mailing list