def callService(url): try: r = requests.get(url, timeout=5) return r.json() except requests.exceptions.ConnectionError: logger.info('GET {} 408 Request Timeout'.format(url)) except Exception as e: logger.error(e)
def save(self): """储存远程报文数据""" last = db.query(Metar).filter_by(tt=self.tt).order_by( Metar.created.desc()).first() if last is None or last.rpt != self.message: item = Metar(tt=self.tt, rpt=self.message) db.add(item) db.commit() logger.info('Save {} {}'.format(self.tt, self.message))
def repoRelease(url): try: r = requests.get(url, timeout=30) return r.json() except requests.exceptions.ConnectionError: logger.info('GET {} 408 Request Timeout'.format(url)) except Exception as e: logger.error(e) return {}
def changeContract(self): target = self.contractsActionGroup.checkedAction() if self.contractNo == target: conf.setValue('Monitor/SelectedMobile', '') logger.info('关闭电话提醒') else: name = target.text() person = db.query(User).filter_by(name=name).first() mobile = person.mobile if person else '' conf.setValue('Monitor/SelectedMobile', mobile) logger.info('切换联系人 %s %s' % (name, mobile))
def confirm(self, callback=None): """确认本地数据和远程数据是否一致 :param callback: 确认完成后的回掉函数 """ last = self.latest() if last is not None and last.rptInline == self.message: last.confirmed = self.time db.commit() logger.info('Confirm {} {}'.format(self.tt, self.message)) if callback: callback()
def callUp(url, token, mobile): try: r = requests.post(url, auth=('api', token), data={ 'mobile': mobile, 'code': '000000' }, timeout=30) if r.status_code in [200, 201]: logger.info('Dial {} successfully'.format(mobile)) return r.json() else: logger.warn('Dial {} failed {}'.format(mobile, r.text)) except requests.exceptions.ConnectionError: logger.warn('POST {} 408 Request Timeout'.format(url)) except Exception as e: logger.error(e)
def save(self, callback=None): """储存远程报文数据 :param callback: 储存完成后的回掉函数 """ isExist = self.isExist() if isExist is None: # 没有报文入库 # 本地正常报已发,远程数据和本地数据不一样的情况不作入库处理 # 修订报报文如果字符出了错误无法识别是否和本地是同一份,则会直接入库 local = self.local() remote = TafParser(self.message) if local and not remote.isAmended( ) and remote.primary.tokens['period']['text'] in local.rpt: return item = Taf(tt=self.tt, rpt=self.message, confirmed=self.time) db.add(item) db.commit() logger.info('Save {} {}'.format(self.tt, self.message)) if callback: callback()
def resetChannelNumber(self): """重置流水号""" conf.setValue('Communication/ChannelSequenceNumber', '1') self.channelSequenceNumber.setText('1') logger.info('Reset channel sequence number to one')