Example #1
0
File: camera.py Project: hebizz/w2s
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()
Example #2
0
File: alert.py Project: hebizz/w2s
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)
Example #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
Example #4
0
File: alert.py Project: hebizz/w2s
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
Example #5
0
File: camera.py Project: hebizz/w2s
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))
Example #6
0
File: face.py Project: 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))
Example #7
0
File: alert.py Project: hebizz/w2s
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()