@@ -19,35 +19,39 @@ function findAllRepos(cb) {
1919
2020var allErrors = [ ] ;
2121
22+
23+ function findUser ( users , cb ) {
24+ var user ;
25+ var count = 0 ;
26+ async . whilst (
27+ function ( ) { return ! user || count < users . length ; } ,
28+ function ( callback ) {
29+ var u = users [ count ] ;
30+ count ++ ;
31+ User . findByGithubId ( user , function ( err , gitHubUser ) {
32+ if ( gitHubUser ) {
33+ user = gitHubUser ;
34+ }
35+ callback ( ) ;
36+ } ) ;
37+ } ,
38+ function ( err ) {
39+ if ( err ) {
40+ return cb ( err ) ;
41+ }
42+ cb ( null , user ) ;
43+ }
44+ ) ;
45+ }
46+
47+
2248function findUsersForRepos ( repos , cb ) {
2349 debug ( 'findUsersForRepos' , 'total repos num:' , repos . length ) ;
2450 async . map ( repos , function ( repo , callback ) {
25- User . findByGithubId ( repo . creators [ 0 ] , function ( err , user ) {
51+ findUser ( repo . creators , function ( err , user ) {
2652 if ( err ) { return callback ( err ) ; }
2753 repo . user = user ;
28- if ( ! user ) {
29- if ( ! repo . creators [ 1 ] ) {
30- return callback ( null , repo ) ;
31- }
32- User . findByGithubId ( repo . creators [ 1 ] , function ( err , user ) {
33- if ( err ) { return callback ( err ) ; }
34- repo . user = user ;
35- if ( ! user ) {
36- if ( ! repo . creators [ 2 ] ) {
37- return callback ( null , repo ) ;
38- }
39- User . findByGithubId ( repo . creators [ 2 ] , function ( err , user ) {
40- if ( err ) { return callback ( err ) ; }
41- repo . user = user ;
42- callback ( null , repo ) ;
43- } ) ;
44- } else {
45- callback ( null , repo ) ;
46- }
47- } ) ;
48- } else {
49- callback ( null , repo ) ;
50- }
54+ callback ( null , repo ) ;
5155 } ) ;
5256 } , cb ) ;
5357}
@@ -56,9 +60,9 @@ function findUsersForRepos(repos, cb) {
5660function updateHooksEvents ( repos , cb ) {
5761 debug ( 'updateHooksEvents' , 'total repos num:' , repos . length ) ;
5862 async . mapLimit ( repos , 50 , function ( repo , callback ) {
59- console . log ( 'processing repo' , repo ) ;
63+ debug ( 'processing repo' , repo ) ;
6064 if ( ! repo . user ) {
61- console . log ( 'user not found for the repo' , repo ) ;
65+ debug ( 'user not found for the repo' , repo ) ;
6266 return callback ( ) ;
6367 }
6468 var github = new GitHub ( { token : repo . user . accounts . github . accessToken } ) ;
@@ -67,12 +71,14 @@ function updateHooksEvents(repos, cb) {
6771 if ( err ) {
6872 allErrors . push ( err ) ;
6973 if ( err . output . statusCode === 404 ) {
70- console . log ( 'repos not found. just skip it' , repo ) ;
74+ debug ( 'repos not found. just skip it' , repo ) ;
7175 callback ( null ) ;
72- } else if ( err . output . statusCode === 502 ) {
73- console . log ( 'access token removed. just skip it' , repo ) ;
76+ }
77+ else if ( err . output . statusCode === 502 ) {
78+ debug ( 'access token removed. just skip it' , repo ) ;
7479 callback ( null ) ;
75- } else {
80+ }
81+ else {
7682 callback ( err ) ;
7783 }
7884 }
0 commit comments