@@ -363,10 +363,21 @@ async function generate(options, type){
363363 continue ;
364364 }
365365
366+
367+ if ( worksheet [ XLSX . utils . encode_cell ( { c :longitudeIndex , r :R } ) ] === undefined ) {
368+ log . warn ( `LONGITUDE value is missing! for row=${ R } and column=${ longitudeIndex + 1 } ` ) ;
369+ continue ;
370+ }
371+
372+ if ( worksheet [ XLSX . utils . encode_cell ( { c :azimuthIndex , r :R } ) ] === undefined ) {
373+ log . warn ( `AZIMUTH value is missing! for row=${ R } and column=${ azimuthIndex + 1 } ` ) ;
374+ continue ;
375+ }
376+
366377 const latitude = worksheet [ XLSX . utils . encode_cell ( { c :latitudeIndex , r :R } ) ] . v ;
367378 const longitude = worksheet [ XLSX . utils . encode_cell ( { c :longitudeIndex , r :R } ) ] . v ;
368379 const azimuth = worksheet [ XLSX . utils . encode_cell ( { c :azimuthIndex , r :R } ) ] . v ;
369- const cellLabel = worksheet [ XLSX . utils . encode_cell ( { c :cellLabelIndex , r :R } ) ] . v ;
380+ const cellLabel = worksheet [ XLSX . utils . encode_cell ( { c :cellLabelIndex , r :R } ) ] . v || "UNDEFINED" ;
370381 const height = getSomeValue ( options . height , R ) ;
371382 const azSteps = 6 ;
372383 const radius = getSomeValue ( options . radius , R ) ;
@@ -493,16 +504,16 @@ async function generate(options, type){
493504
494505 var fs = require ( 'fs' ) ;
495506
496- await new Promise ( ( resolve , reject ) => {
507+ var retStatus = await new Promise ( ( resolve , reject ) => {
497508 var stream = fs . createWriteStream ( fileName , { emitClose : true } ) ;
498509 stream . on ( 'error' , function ( err ) {
499- log . err ( err ) ;
500- reject ( )
510+ log . error ( err ) ;
511+ reject ( { status : 'success' , message : 'Parsing finished' } ) ;
501512 throw new Error ( "Error creating kml file." ) ;
502513 } ) ;
503514
504515 stream . on ( 'finish' , function ( ) {
505- resolve ( ) ;
516+ resolve ( { status : 'success' , message : 'Parsing finished' } ) ;
506517 } ) ;
507518
508519
@@ -526,7 +537,12 @@ async function generate(options, type){
526537 // <size x="0" y="0" xunits="pixels" yunits="pixels"/>
527538 //</ScreenOverlay>`);
528539
529- processFolders ( options . folders , stream , { } ) ;
540+ try {
541+ processFolders ( options . folders , stream , { } ) ;
542+ } catch ( e ) {
543+ log . error ( e )
544+ reject ( { message : 'Error occurred' , status : 'error' } ) ;
545+ }
530546
531547 stream . write ( '</Document>\n' ) ;
532548 stream . write ( '</kml>\n' ) ;
@@ -536,7 +552,7 @@ async function generate(options, type){
536552 } ) ;
537553
538554 } )
539-
555+
540556 return fileName ;
541557
542558}
0 commit comments