@@ -1349,7 +1349,8 @@ function getBadges (xmlText, bucket_url, badge_set) {
13491349 var xmlDoc = parser . parseFromString ( xmlText , 'application/xml' )
13501350 const errorNode = xmlDoc . querySelector ( 'parsererror' )
13511351 if ( errorNode ) {
1352- return
1352+ console . warn ( 'Failed to parse bucket listing XML:' , bucket_url )
1353+ return [ ]
13531354 }
13541355
13551356 var badges = [ ]
@@ -1457,21 +1458,25 @@ function getBucketOptions (input) {
14571458}
14581459
14591460function fetchBucketBadges ( bucket , inputs ) {
1460- return new Promise ( ( resolve , reject ) => {
1461- let req = new XMLHttpRequest ( ) ;
1462- const options = getBucketOptions ( inputs ) ;
1463- req . open ( 'GET' , bucket ) ;
1461+ return new Promise ( function ( resolve ) {
1462+ var req = new XMLHttpRequest ( )
1463+ const options = getBucketOptions ( inputs )
1464+ req . open ( 'GET' , bucket )
14641465 req . onload = function ( ) {
1465- if ( req . status == 200 ) {
1466- const badges = getBadges ( req . responseText , bucket , options . get ( 'sets' ) )
1467- resolve ( badges ) ;
1466+ if ( req . status === 200 ) {
1467+ const badges = getBadges ( req . responseText , bucket , options . get ( 'sets' ) ) || [ ]
1468+ resolve ( badges )
14681469 } else {
1469- console . error ( 'Error: ' + req . status ) ;
1470- reject ( 'Error: ' + req . status ) ;
1470+ console . warn ( 'CI badge bucket unavailable:' , bucket , '(HTTP' , req . status + ')' )
1471+ resolve ( [ ] )
14711472 }
1472- } ;
1473- req . send ( ) ;
1474- } ) ;
1473+ }
1474+ req . onerror = function ( ) {
1475+ console . warn ( 'CI badge bucket request failed:' , bucket )
1476+ resolve ( [ ] )
1477+ }
1478+ req . send ( )
1479+ } )
14751480}
14761481
14771482function obtainBadgesFromSample ( inputs ) {
@@ -1515,18 +1520,17 @@ function obtainBadges (inputs) {
15151520 }
15161521
15171522 Promise . all ( badgePromises )
1518- . then ( ( results ) => {
1519- const allBadges = [ ] ;
1520- for ( const badges of results ) {
1521- console . log ( "Got " + badges . length + " badges" )
1522- allBadges . push ( ...badges ) ;
1523- }
1523+ . then ( function ( results ) {
1524+ const allBadges = [ ]
1525+ results . forEach ( function ( badges ) {
1526+ if ( badges && badges . length > 0 ) {
1527+ console . log ( 'Got ' + badges . length + ' badges' )
1528+ }
1529+ allBadges . push . apply ( allBadges , badges || [ ] )
1530+ } )
15241531
1525- console . log ( 'All badges:' , allBadges ) ;
1532+ console . log ( 'All badges:' , allBadges )
15261533
15271534 processBadges ( allBadges , options )
15281535 } )
1529- . catch ( ( error ) => {
1530- console . error ( 'Error:' , error ) ;
1531- } ) ;
15321536}
0 commit comments