Merge branch 'release/0.3.0'
* release/0.3.0: Bump version number to 0.3.0 Add gvacommon.settings_utils Update to Django 1.9.2
This commit is contained in:
		
						commit
						383e6cf718
					
				
					 4 changed files with 80 additions and 2 deletions
				
			
		|  | @ -15,4 +15,4 @@ | |||
| # You should have received a copy of the GNU Affero General Public License | ||||
| # along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| # | ||||
| __version__ = '0.2.1' | ||||
| __version__ = '0.3.0' | ||||
|  |  | |||
							
								
								
									
										38
									
								
								gvacommon/settings_utils.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								gvacommon/settings_utils.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 <http://www.gnu.org/licenses/>. | ||||
| # | ||||
| 
 | ||||
| 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) | ||||
							
								
								
									
										40
									
								
								gvacommon/tests/test_settings_utils.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								gvacommon/tests/test_settings_utils.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 <http://www.gnu.org/licenses/>. | ||||
| # | ||||
| 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') | ||||
| 
 | ||||
|  | @ -1 +1 @@ | |||
| Django>=1.9.1,<2 | ||||
| Django>=1.9.2,<2 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue