<commit_before>#  Copyright 2008-2014 Nokia Solutions and Networks
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

"""Implements storing and resolving variables.

This package is for internal usage only, and also subject to heavy refactoring
in the future.
"""

import os
import tempfile

from robot import utils
from robot.output import LOGGER

from .isvar import contains_var, is_var, is_scalar_var, is_list_var
from .variables import Variables
from .assigner import VariableAssigner
from .splitter import VariableSplitter, VariableIterator


GLOBAL_VARIABLES = Variables()


def init_global_variables(settings):
    GLOBAL_VARIABLES.clear()
    _set_cli_vars(settings)
    for name, value in [ ('${TEMPDIR}', utils.abspath(tempfile.gettempdir())),<commit_msg>Espose is_dict_var, doc update<commit_after>#  Copyright 2008-2014 Nokia Solutions and Networks
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

"""Implements storing and resolving variables.

This package is mainly for internal usage.
"""

import os
import tempfile

from robot import utils
from robot.output import LOGGER

from .isvar import contains_var, is_var, is_scalar_var, is_list_var, is_dict_var
from .variables import Variables
from .assigner import VariableAssigner
from .splitter import VariableSplitter, VariableIterator


GLOBAL_VARIABLES = Variables()


def init_global_variables(settings):
    GLOBAL_VARIABLES.clear()
    _set_cli_vars(settings)
    for name, value in [ ('${TEMPDIR}', utils.abspath(tempfile.gettempdir())),
{'fraction_non_alphanumeric': 0.06947201270345375, 'fraction_numerical': 0.009527590313616514, 'mean_word_length': 4.7272727272727275, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6178532', 'n_tokens_mistral': 721, 'n_tokens_neox': 699, 'n_words': 294}