@@ -2742,6 +2742,10 @@ function refreshSingleOld(serial) {
27422742 }
27432743 }
27442744
2745+ if ( ajax_inprogress_old == serial ) {
2746+ return ;
2747+ }
2748+
27452749 document . getElementById ( "timeperiod" ) . disabled = true ;
27462750
27472751 var data_url = "https://api.v2.sondehub.org/sonde/" + encodeURIComponent ( serial ) ;
@@ -2760,7 +2764,7 @@ function refreshSingleOld(serial) {
27602764 if ( data [ i ] . hasOwnProperty ( 'subtype' ) ) {
27612765 if ( data [ i ] . subtype != "SondehubV1" ) {
27622766 var dataTempEntry = { } ;
2763- var station = data [ i ] . uploader_callsign
2767+ var station = data [ i ] . uploader_callsign ;
27642768 dataTempEntry . callsign = { } ;
27652769 dataTempEntry . callsign [ station ] = { } ;
27662770 dataTempEntry . callsign [ station ] . snr = data [ i ] . snr ;
@@ -2802,13 +2806,38 @@ function refreshSingleOld(serial) {
28022806 if ( data [ i ] . pressure ) {
28032807 dataTempEntry . data . pressure = data [ i ] . pressure ;
28042808 }
2805- dataTemp . push ( dataTempEntry )
2809+ dataTemp . push ( dataTempEntry ) ;
2810+ } else {
2811+ var dataTempEntry = { } ;
2812+ var station = data [ i ] . uploader_callsign ;
2813+ dataTempEntry . callsign = { } ;
2814+ dataTempEntry . callsign [ station ] = { } ;
2815+ dataTempEntry . gps_alt = parseFloat ( data [ i ] . alt ) ;
2816+ dataTempEntry . gps_lat = parseFloat ( data [ i ] . lat ) ;
2817+ dataTempEntry . gps_lon = parseFloat ( data [ i ] . lon ) ;
2818+ dataTempEntry . gps_time = data [ i ] . time_received ;
2819+ dataTempEntry . server_time = data [ i ] . time_received ;
2820+ dataTempEntry . vehicle = data [ i ] . serial ;
2821+ dataTempEntry . position_id = data [ i ] . serial + "-" + data [ i ] . time_received ;
2822+ dataTempEntry . data = { } ;
2823+ if ( data [ i ] . humidity ) {
2824+ dataTempEntry . data . humidity = parseFloat ( data [ i ] . humidity ) ;
2825+ }
2826+ if ( data [ i ] . temp ) {
2827+ dataTempEntry . data . temperature_external = parseFloat ( data [ i ] . temp ) ;
2828+ }
2829+ dataTemp . push ( dataTempEntry ) ;
28062830 }
28072831 }
28082832 }
28092833 response . positions . position = dataTemp ;
28102834 response . fetch_timestamp = Date . now ( ) ;
2811- update ( response , "old" ) ;
2835+ if ( response . positions . position . length == 0 ) {
2836+ update ( response ) ;
2837+ } else {
2838+ update ( response , "old" ) ;
2839+ }
2840+
28122841 }
28132842 } ) ;
28142843}
0 commit comments