"""
Helper file for Rougail-user-data-environment

Silique (https://www.silique.fr)
Copyright (C) 2024

distribued with GPL-2 or later license

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
"""
import os

from .config import rougail_environment_var

    
def get_rougail_environment():
    """gets all the rougail environment variables and their values

    :sample: {'VARINT': '5', 'VARNAME34': '58, 22', 'VARNAME2': 'tata', 
             'VARNAME1': 'titi', 'MYFAMILY.VARNAME3': 'spam'}
    :returns: rougail environment variables as a key/value dict
    """
    # first we look at all environment variables
    all_envvar = os.environ
    # then we filter the ROUGAIL_ environment variables
    rougail_envvar = [envvar.replace(rougail_environment_var, '') 
                      for envvar in all_envvar 
                      if envvar.startswith(rougail_environment_var)]
    rougail_environment_dict = dict()
    for var in rougail_envvar:
        rougail_environment_dict[var] = os.environ[rougail_environment_var + var]
    return rougail_environment_dict