コード例 #1
0
    def get(self, collection_name):
        client = pymongo.MongoClient(app.config['mongo_connection_string'])
        db = client[app.config['mongo_db']]

        if collection_name not in db.list_collection_names():
            return f"Collection '{collection_name}' not found"
        else:
            collection = db[collection_name]

            data = {
                "collection_name": collection_name,
                "docs_count": collection.count()
            }

            with iris_connection() as iris:
                data['iris_root_nodes_count'] = iris.count_root_nodes(
                    collection_name)

            if collection.count() > 0:
                first_doc = collection.find_one()
                if '_id' in first_doc:
                    first_doc['_id'] = str(first_doc['_id'])
                data['first_doc'] = json.dumps(first_doc,
                                               indent=2,
                                               cls=DateTimeEncoder)

                if data['iris_root_nodes_count'] > 0:
                    data['iris_data'] = parse_dict(first_doc)

            return data
コード例 #2
0
    def post(self):
        post_parser = reqparse.RequestParser()
        post_parser.add_argument('name')
        post_parser.add_argument('node')
        args = post_parser.parse_args()
        with iris_connection() as iris:
            iris_root_nodes_count = iris.count_root_nodes(args.name)
        data = {"status": True, "data": iris_root_nodes_count}

        return data
コード例 #3
0
def json_to_iris(input_data: str, global_name: str) -> tuple:

    data, status = validate_json(input_data)
    if not status:
        return False, None
    else:
        with iris_connection() as iris:
            iris_comp_data = parse_dict(data)
            for item in iris_comp_data:
                path_list = item['path_list']
                iris.set(item['value'], global_name, *path_list)
            return True, iris_comp_data
コード例 #4
0
    def post(self):
        post_parser = reqparse.RequestParser()
        post_parser.add_argument('collection_name')
        args = post_parser.parse_args()
        _, iris_data = mongo_to_iris(args.collection_name)

        data = {
            "result": args.collection_name,
            "iris_data": iris_data,
        }
        with iris_connection() as iris:
            data['iris_root_nodes_count'] = iris.count_root_nodes(
                args.collection_name)
        return data
コード例 #5
0
def mongo_to_iris(collection_name: str):

    client = pymongo.MongoClient(current_app.config['mongo_connection_string'])
    db = client[current_app.config['mongo_db']]

    if collection_name not in db.list_collection_names():
        return False, None

    collection = db[collection_name]
    cursor = collection.find({})
    i = 0
    iris_first_node = []

    with iris_connection() as iris:
        for document in cursor:
            document['_id'] = str(document['_id'])
            iris_comp_data = parse_dict(document)
            if i == 0:
                iris_first_node = iris_comp_data
            for item in iris_comp_data:
                path_list = [i] + item['path_list']
                iris.set(item['value'], collection_name, *path_list)
            i += 1
        return True, iris_first_node
コード例 #6
0
def kill_iris_global(root_item):
    with iris_connection() as iris:
        iris.kill(root_item)
    return 1