Exemplo n.º 1
0
 def _insertAirKoreaQuality(self, sido, body):
     try:
         jobj = json.loads(body)
         items = jobj['list']  #json array
         for item in items:
             #sido, gugun, sensorAt, so2, co, o3, no2, pm10, pm25, khai, khaiGrade, so2Grade, coGrade, o3Grade, no2Grade, pm10Grade, pm25Grade
             self.airKoreaQualityRepository.insertAirQuality(
                 sido, item['stationName'], item['dataTime'] + ':00',
                 item['so2Value'], item['coValue'], item['o3Value'],
                 item['no2Value'], item['pm10Value'], item['pm25Value'],
                 item['khaiValue'], item['khaiGrade'], item['so2Grade'],
                 item['coGrade'], item['o3Grade'], item['no2Grade'],
                 item['pm10Grade'], item['pm25Grade'])
     except:
         exutil.PrintException()
Exemplo n.º 2
0
 def doJobLoadAirKoreaList(self):
     logging.info('AirKoreaCollector Start a Job')
     sensorAt = datetime.now().strftime("%Y-%m-%d %H:00:00")
     if self.airKoreaQualityRepository.isExistSensorAt(
             sensorAt) == True:  #sensorAt 데이터가 있으면 실행하지 않음
         return
     for sido in self.sidoList:
         try:
             url = f'http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty?serviceKey={appconfig.airkorea_apikey}&numOfRows={self.numOfRows}&pageNo=1&sidoName={sido}&ver={self.ver}&_returnType=json'
             resp = requests.get(url)
             body = resp.content.decode('utf-8')
             self._insertAirKoreaQuality(sido, body)
         except Exception as ex:
             exutil.PrintException()
     pass