def render_variable(env, raw, cookiecutter_dict):
 if (raw is None):
  return None
 elif isinstance(raw, dict):
  return {render_variable(env, k, cookiecutter_dict): render_variable(env, v, cookiecutter_dict) for (k, v) in raw.items()}
 elif isinstance(raw, list):
  return [render_variable(env, v, cookiecutter_dict) for v in raw]
 elif (not isinstance(raw, basestring)):
  raw = str(raw)
 template = env.from_string(raw)
 rendered_template = template.render(cookiecutter=cookiecutter_dict)
 return rendered_template

def render_variable ( env , raw , cookiecutter_dict ) : if ( raw is None ) : return None elif isinstance ( raw , dict ) : return { render_variable ( env , k , cookiecutter_dict ) : render_variable ( env , v , cookiecutter_dict ) for ( k , v ) in raw . items ( ) } elif isinstance ( raw , list ) : return [ render_variable ( env , v , cookiecutter_dict ) for v in raw ] elif ( not isinstance ( raw , basestring ) ) : raw = str ( raw ) template = env . from_string ( raw ) rendered_template = template . render ( cookiecutter = cookiecutter_dict ) return rendered_template
inside the prompting taken from the cookiecutter .