本文整理汇总了Python中query.Query.to_command方法的典型用法代码示例。如果您正苦于以下问题:Python Query.to_command方法的具体用法?Python Query.to_command怎么用?Python Query.to_command使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类query.Query
的用法示例。
在下文中一共展示了Query.to_command方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: flash
# 需要导入模块: from query import Query [as 别名]
# 或者: from query.Query import to_command [as 别名]
def flash(sqlsession, token, device):
error = False
errors = []
token = None
device = None
if type(token) == int:
token = sqlsession.query(models.Token).filter_by(id=token).first()
if type(device) == int:
device = sqlsession.query(models.Device).filter_by(id=device).first()
if device:
if token:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((config.api_host, config.api_port))
temporary_token = helpers.generate_token()
q = Query()
q.create_register_webui(config.webui_token, temporary_token)
s.send(q.to_command())
q.create_flash(temporary_token, token.value, device.pubkey)
s.send(q.to_command())
q.create_unregister(temporary_token)
s.send(q.to_command())
s.close()
except Exception:
error = True
errors.append(('flash', 'Connection to device failed.'))
else:
error = True
errors.append(('token', 'Token does not exist.'))
else:
error = True
errors.append(('device', 'Device does not exist.'))
return error, errors
示例2: open
# 需要导入模块: from query import Query [as 别名]
# 或者: from query.Query import to_command [as 别名]
def open(sqlsession, id):
id = int(id)
user = sqlsession.query(models.User).filter_by(username=session['username']).first()
device = None
if id == 0:
if user.default_device:
device = user.default_device
else:
id = int(config('default_door_device'))
if id > 0 and not device:
device = sqlsession.query(models.Device).filter_by(id=id).first()
if device:
access_granted = False
if user.level > 9000:
access_granted = True
else:
for token in user.tokens:
if token in device.tokens:
access_granted = True
if not access_granted:
flash('No access on device with id %s' % id, 'danger')
else:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((config.api_host, config.api_port))
temporary_token = helpers.generate_token()
q = Query()
q.create_register_webui(config.webui_token, temporary_token)
s.send(q.to_command())
q.create_open(temporary_token, device.pubkey)
s.send(q.to_command())
q.create_unregister(temporary_token)
s.send(q.to_command())
s.close()
flash('%s has been opened.' % device.name, 'success')
except Exception as e:
flash('Failed to access device %s' % device.name, 'danger')
else:
flash('Could not find device with id %s' % id, 'danger')
return redirect(request.referrer)
示例3: run
# 需要导入模块: from query import Query [as 别名]
# 或者: from query.Query import to_command [as 别名]
def run(self):
while self.running:
if time.time() - self.last_ping > config.ping_interval + config.pong_interval:
self.logger.info('Got no PING from %s in time. Closing connection' % self.other)
return self.shutdown()
elif time.time() - self.last_ping > config.ping_interval and not self.pinged:
query = Query()
query.create_ping(config.server_token)
self.connection.sendall(query.to_command())
self.pinged = True
self.logger.info('Sent PING to %s.' % self.other)
try:
self.update()
data = self.connection.recv(1024)
self.data += data
if len(data) == 0:
return self.shutdown()
data_stack = self.data.split(b'\r\n')
self.data = data_stack.pop()
for data in [x.decode('utf-8', errors='replace') for x in data_stack]:
self.update_queues(data)
except socket.timeout as e:
if e.args[0] == 'timed out':
continue
else:
self.logger.exception('Shutting down connection thread (%s, %d) due to caught exception:' % (self.address[0], self.address[1]))
self.logger.exception(e)
return self.shutdown()
except OSError as e:
if e.args[0] == 9:
self.logger.info('Connection lost.')
return self.shutdown()
else:
raise e
except socket.error as e:
self.logger.exception('Shutting down connection thread (%s, %d) due to caught exception:' % (self.address[0], self.address[1]))
self.logger.exception(e)
return self.shutdown()
except Exception as e:
if len(e.args[0]) == 0:
self.logger.exception('3Shutting down connection thread (%s, %d) due to caught exception:' % (self.address[0], self.address[1]))
self.logger.exception(e)
return self.shutdown()
return