From 21d15fd9daea4119047e8fa2d8fbf7060e562a04 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Mon, 1 Feb 2016 23:02:14 +0100 Subject: [PATCH 1/3] Update to Django 1.9.2 --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index 0297f2f..f7eaee2 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1 +1 @@ -Django>=1.9.1,<2 +Django>=1.9.2,<2 From 473fcfffa2603e884d6bd2410190a6641321507b Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Mon, 1 Feb 2016 23:06:55 +0100 Subject: [PATCH 2/3] Add gvacommon.settings_utils This commit adds a get_env_variable function that is taken from gva's settings.base module into a new module gvacommon.settings_utils. --- gvacommon/settings_utils.py | 38 ++++++++++++++++++++++++ gvacommon/tests/test_settings_utils.py | 40 ++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 gvacommon/settings_utils.py create mode 100644 gvacommon/tests/test_settings_utils.py diff --git a/gvacommon/settings_utils.py b/gvacommon/settings_utils.py new file mode 100644 index 0000000..6c86b82 --- /dev/null +++ b/gvacommon/settings_utils.py @@ -0,0 +1,38 @@ +# +# gvacommon - common parts of gnuviechadmin +# Copyright (C) 2016 Jan Dittberner +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +from os import environ +# Normally you should not import ANYTHING from Django directly +# into your settings, but ImproperlyConfigured is an exception. +from django.core.exceptions import ImproperlyConfigured + + +def get_env_variable(var_name): + """ + Get a setting from an environment variable. + + :param str var_name: variable name + :raises ImproperlyConfigured: if the environment setting is not defined + :return: environment setting value + :rtype: str + """ + try: + return environ[var_name] + except KeyError: + error_msg = "Set the %s environment variable" % var_name + raise ImproperlyConfigured(error_msg) diff --git a/gvacommon/tests/test_settings_utils.py b/gvacommon/tests/test_settings_utils.py new file mode 100644 index 0000000..1abc16c --- /dev/null +++ b/gvacommon/tests/test_settings_utils.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# +# gvacommon - common parts of gnuviechadmin +# Copyright (C) 2016 Jan Dittberner +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +import os +from unittest import TestCase + +from django.core.exceptions import ImproperlyConfigured + +from gvacommon.settings_utils import get_env_variable + + +class GetEnvVariableTest(TestCase): + + def test_get_existing_env_variable(self): + os.environ['testvariable'] = 'myvalue' + self.assertEqual(get_env_variable('testvariable'), 'myvalue') + + def test_get_missing_env_variable(self): + if 'missingvariable' in os.environ: + del os.environ['missingvariable'] + with self.assertRaises(ImproperlyConfigured) as e: + get_env_variable('missingvariable') + self.assertEqual( + str(e.exception), 'Set the missingvariable environment variable') + From 0e54172d343f427c858a92336ebac79b469d5163 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Mon, 1 Feb 2016 23:11:58 +0100 Subject: [PATCH 3/3] Bump version number to 0.3.0 --- gvacommon/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gvacommon/__init__.py b/gvacommon/__init__.py index c6fee22..f9aae42 100644 --- a/gvacommon/__init__.py +++ b/gvacommon/__init__.py @@ -15,4 +15,4 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # -__version__ = '0.2.1' +__version__ = '0.3.0'