Пример #1
0
def _get_all(query, limit=0, offset=0):
    query['type'] = "camera"
    fetch = mongodb.device.find(query)
    if fetch is None:
        logging.warning("camera-all (%s) returns empty", query)
        return [], 0
    results = resize_mongo_result(fetch, limit=limit, offset=offset)
    return [Camera(mongo_id_to_str(r)) for r in results], fetch.count()
Пример #2
0
def confirm(query, user_name, user_id):
    """确认报警"""
    mongodb.alerts.update_one(query, {'$set': {
        "affirmed": True,
        "affirm_time": int(time.time()),
        "affirm": user_name,
        "affirm_id": user_id
    }})
    result = mongo_id_to_str(mongodb.alerts.find_one(query))
    return Alert(result)
Пример #3
0
def translate(data):
    if isinstance(data, list):
        res = []
        for i in data:
            res.append(translate(i))
        return res
    elif isinstance(data, dict):
        res = {}
        for i, v in data.items():
            res[i] = translate(v)
        return res
    elif isinstance(data, MongoBase):
        return mongo_id_to_str(data.data)
    else:
        return data
Пример #4
0
def close(query, user_name, user_id):
    """关闭报警"""
    mongodb.alerts.update_many(query, {'$set': {
        "status": "closed",
        "operator_time": int(time.time()),
        "operator": user_name,
        "operator_id": user_id
    }})
    results = mongodb.alerts.find(query)
    alerts = []
    if results:
        for result in results:
            data = mongo_id_to_str(result)
            alerts.append(Alert(data))
    return alerts
Пример #5
0
def get_rand_one():
    fetch = mongodb.device.find_one()
    if fetch is None:
        raise RuntimeError("no such camera in database")
    return Camera(mongo_id_to_str(fetch))
Пример #6
0
Файл: face.py Проект: hebizz/w2s
def get_one(face_id):
    fetch = mongodb.facedata.find_one({"faceid": face_id})
    if fetch is None:
        raise RuntimeError("no such face ({}) in database".format(face_id))
    return Face(mongo_id_to_str(fetch))
Пример #7
0
def get_all(query, limit=0, offset=0):
    """查询报警"""
    fetch = mongodb.alerts.find(query, sort=[('status', -1), ('create_time', -1)])
    results = resize_mongo_result(fetch, limit=limit, offset=offset)
    return [Alert(mongo_id_to_str(it)) for it in results], fetch.count()