当前位置: 首页>>代码示例>>Python>>正文


Python Query.create_open方法代码示例

本文整理汇总了Python中query.Query.create_open方法的典型用法代码示例。如果您正苦于以下问题:Python Query.create_open方法的具体用法?Python Query.create_open怎么用?Python Query.create_open使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在query.Query的用法示例。


在下文中一共展示了Query.create_open方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: handle_query

# 需要导入模块: from query import Query [as 别名]
# 或者: from query.Query import create_open [as 别名]
    def handle_query(session, self, query):
        response = Query()
        self.logger.debug('Handle query:')
        self.logger.debug(query.query)
        if query.method == 'ACCESS':
            token = session.query(Token).filter_by(value=query.params[0]).first()
            device = session.query(Device).filter_by(pubkey_device=query.token).first()
            if len(query.params) == 1:
                if token in device.tokens and token.expiry_date >= helpers.today():
                    response.create_grant(config.server_token, query.params[0])
                    self.logger.info('Granted access to token %s at device %s' % (query.params[0], query.token))
                else:
                    response.create_deny(config.server_token, query.params[0])
                    self.logger.info('Denied access to token %s at device %s' % (query.params[0], query.token))

                self.issue_query(query.token, response)
            else:
                self.logger.debug('Broken query. Expected exactly 1 parameter.')

        elif query.method == 'FLASH':
            self.logger.info('Requested flash of token %s at device %s' % (query.params[0], query.params[1]))
            if len(query.params) == 2:
                if query.token in self.connection_manager.webuis:
                    response.create_flash(config.server_token, query.params[0])
                    self.issue_query(query.params[1], response)
                else:
                    self.logger.info('Requested flash came from a non webui or an unregistered one. It was discarded.')
            else:
                self.logger.debug('Broken query. Expected exactly 2 parameters.')

        elif query.method == 'FLASHED':
            if len(query.params) == 1:
                session.query(Token).filter_by(value=query.params[0]).first().flashed = True
                self.logger.debug('Token %s was flashed' % query.params[0])
            self.logger.debug('Broken query. Expected exactly 1 parameter.')

        elif query.method == 'OPEN':
            if len(query.params) == 1:
                if query.token in self.connection_manager.webuis:
                    response.create_open(config.server_token)
                    self.issue_query(query.params[0], response)
                    self.logger.debug('Sent OPEN to device with token %s.' % query.params[0])
                else:
                    self.logger.info('Requested flash came from a non webui or an unregistered one. It was discarded.')
            self.logger.debug('Broken query. Expected exactly 1 parameter.')
开发者ID:Tiwalun,项目名称:backdoor,代码行数:47,代码来源:backdoor.py

示例2: open

# 需要导入模块: from query import Query [as 别名]
# 或者: from query.Query import create_open [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)
开发者ID:Tiwalun,项目名称:backdoor,代码行数:44,代码来源:control.py

示例3: open

# 需要导入模块: from query import Query [as 别名]
# 或者: from query.Query import create_open [as 别名]
 def open(self, device):
     query = Query()
     query.create_open(config.server_token)
     self.issue_query(device, query)
开发者ID:Tiwalun,项目名称:backdoor,代码行数:6,代码来源:backdoor.py


注:本文中的query.Query.create_open方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。