[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