heat.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:NodeDefender 作者: CTSNE 项目源码 文件源码
def current(group):
    group = SQL.session.query(GroupModel).filter(GroupModel.name ==
                                                group).first()
    if group is None:
        return False

    ret_data = []
    group_data = {}
    group_data['name'] = group.name
    group_data['heat'] = 0.0
    for node in group.nodes:
        if not node.icpe:
            continue

        node_data = {}
        node_data['name'] = node.name

        min_ago = (datetime.now() - timedelta(hours=0.5))
        latest_heat =  SQL.session.query(HeatModel,\
                    label('sum', func.sum(HeatModel.average)),
                    label('count', func.count(HeatModel.average))).\
                    join(HeatModel.icpe).\
                    filter(iCPEModel.mac_address == node.icpe.mac_address).\
                    filter(HeatModel.date > min_ago).first()

        if latest_heat.count:
            node_data['heat'] = latest_heat.sum / latest_heat.count
            group_data['heat'] += node_data['heat']
        else:
            node_data['heat'] = 0.0

        ret_data.append(node_data)

    ret_data.append(group_data)
    return ret_data
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号