def get_connection(connection='', engine_name=None, connection_type='long', **args):
    """
    Creating an NamedEngine or just return existed engine instance

    if '://' include in connection parameter, it'll create new engine object
    otherwise return existed engine isntance
    """
    engine_name = engine_name or __default_engine__
    if '://' in connection:
        d = {
            'connection_string':connection,
            'connection_args':args,
            'connection_type':connection_type,
            }
        
        return engine_manager.add(engine_name, d).engine
    else:
        connection = connection or __default_engine__
        if connection in engine_manager:
            return engine_manager[connection].engine
        else:
            raise Error("Can't find engine %s" % connection)
Creating an NamedEngine or just return existed engine instance

    if '://' include in connection parameter, it'll create new engine object
    otherwise return existed engine isntance