@@ -17,22 +17,24 @@ def update_sensor_data(
1717 We download JSON from PurpleAir and convert to our proprietary Protocol
1818 Buffer format, which is used by all clients.
1919
20- We upload three versions of the protocol buffer data:
20+ We upload four versions of the protocol buffer data:
2121 (1) The corrected EPA AQI readings
2222 (2) Raw PurpleAir PM2.5 AQI readings
2323 (3) A compact data, with just a single AQI reading, used by the widget
24+ (4) A raw compact data, to represent raw single AQI readings in the widget
2425 """
2526 start_time = time .time ()
2627 raw = urllib .request .urlopen (purpleair .api_url (purpleair_api_key )).read ()
2728 download_time = time .time ()
2829 data = purpleair .parse_api (raw , epa_correction = True )
2930 raw_data = purpleair .parse_api (raw , epa_correction = False )
3031 compact_data = purpleair .compact_sensor_data (data )
32+ raw_compact_data = purpleair .compact_sensor_data (raw_data )
3133 parse_time = time .time ()
3234 s3 = boto3 .client ("s3" )
3335 update (s3 , s3_bucket , data = data , object_name = s3_object )
3436 update (s3 , s3_bucket , data = compact_data , object_name = compact_s3_object )
35- update (s3 , s3_bucket , data = raw_data , object_name = raw_s3_object )
37+ update (s3 , s3_bucket , data = raw_data , object_name = raw_compact_s3_object )
3638 s3_time = time .time ()
3739 total_time = time .time () - start_time
3840 logging .info ("Processed PurpleAir in %.1fs (download: %.1fs, parse: %.1fs, "
@@ -55,4 +57,5 @@ def lambda_handler(event, context):
5557 s3_bucket = os .environ ["AWS_S3_BUCKET" ],
5658 s3_object = os .environ ["AWS_S3_OBJECT" ],
5759 raw_s3_object = os .environ ["AWS_S3_OBJECT_RAW" ],
58- compact_s3_object = os .environ ["AWS_S3_OBJECT_COMPACT" ])
60+ compact_s3_object = os .environ ["AWS_S3_OBJECT_COMPACT" ],
61+ raw_compact_s3_object = os .environ ["AWS_S3_OBJECT_RAW_COMPACT" ])
0 commit comments