From 01fa869b52da3e9cb27a8178298acaf7f5294865 Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Thu, 17 Jan 2019 16:55:32 +0100
Subject: [PATCH] [init] Minimize impact of (global, silent) environment
 variables being set

---
 bob/devtools/__init__.py    | 17 -----------------
 bob/devtools/scripts/bdt.py | 15 ++++++++++++++-
 2 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/bob/devtools/__init__.py b/bob/devtools/__init__.py
index 790e3b4a..e69de29b 100644
--- a/bob/devtools/__init__.py
+++ b/bob/devtools/__init__.py
@@ -1,17 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-'''Environment variable initialization'''
-
-import os
-from .constants import CACERT
-from .bootstrap import set_environment
-
-
-# must set LANG and LC_ALL before using click
-set_environment('LANG', 'en_US.UTF-8', os.environ)
-set_environment('LC_ALL', os.environ['LANG'], os.environ)
-
-# we need the right certificates setup as well
-set_environment('SSL_CERT_FILE', CACERT, os.environ)
-set_environment('REQUESTS_CA_BUNDLE', CACERT, os.environ)
diff --git a/bob/devtools/scripts/bdt.py b/bob/devtools/scripts/bdt.py
index 7a26b97c..cb65ed19 100644
--- a/bob/devtools/scripts/bdt.py
+++ b/bob/devtools/scripts/bdt.py
@@ -48,9 +48,22 @@ def raise_on_error(view_func):
     return wraps(view_func)(_decorator)
 
 
+# warning: must set LANG and LC_ALL before using click
+# see: https://click.palletsprojects.com/en/7.x/python3/
+if 'LANG' not in os.environ:
+  os.environ['LANG'] = 'en_US.UTF-8'
+if 'LC_ALL' not in os.environ:
+  os.environ['LC_ALL'] = 'en_US.UTF-8'
+
 @with_plugins(pkg_resources.iter_entry_points('bdt.cli'))
 @click.group(cls=AliasedGroup,
              context_settings=dict(help_option_names=['-?', '-h', '--help']))
 def main():
     """Bob Development Tools - see available commands below"""
-    pass
+
+    from ..constants import CACERT
+    from ..bootstrap import set_environment
+
+    # certificate setup: required for gitlab API interaction
+    set_environment('SSL_CERT_FILE', CACERT, os.environ)
+    set_environment('REQUESTS_CA_BUNDLE', CACERT, os.environ)
-- 
GitLab