nl_tokens: Собираем файлы и их размеры из stdout
pl_tokens: function ( stdout ) { var files = { } , i = 0 , j = 0 , n = 0 , c , fName , sz , formats = [ [ 0 , 0 ] ] stdout = stdout . <mask> ( '\n' ) while ( stdout [ i ] !== null && stdout [ i ] . substr ( 0 , 7 ) != '-------' ) { i ++ ; } while ( stdout [ i ] && j < stdout [ i ] . length ) { c = stdout [ i ] . charAt ( j ) if ( c != '-' ) { n ++ formats [ n ] = [ j + 1 , 0 ] } else { formats [ n ] [ 1 ] ++ } j ++ ; } i ++ n = pathName . split ( '/' ) . length - 1 while ( stdout [ i ] && stdout [ i ] . substr ( 0 , 7 ) != '-------' ) { fName = stdout [ i ] . substr ( formats [ 4 ] [ 0 ] ) . trim ( ) . split ( '/' ) if ( fName [ n ] && ! files [ fName [ n ] ] ) { c = stdout [ i ] . substr ( formats [ 1 ] [ 0 ] , formats [ 1 ] [ 1 ] ) . trim ( ) sz = parseInt ( stdout [ i ] . substr ( formats [ 2 ] [ 0 ] , formats [ 2 ] [ 1 ] ) . trim ( ) ) if ( c . charAt ( 0 ) != 'D' && n == ( fName . length - 1 ) ) { // это файл c = 'F' } else { // каталог c = 'D' sz = 0 } files [ fName [ n ] ] = [ sz , // size c // attr ] } i ++ ; } return files ; }