def test_nested_default(self): self.assertEqual(envitro.int('TEST_NOPE_INT', envitro.str('TEST_NOPE_STR', '123')), 123) self.assertEqual(envitro.str('TEST_NOPE_STR', envitro.int('TEST_NOPE_INT', 123)), '123') self.assertEqual(envitro.bool('TEST_NOPE_BOOL', envitro.int('TEST_NOPE_INT', 123)), True) self.assertEqual(envitro.bool('TEST_NOPE_BOOL', envitro.int('TEST_NOPE_INT', 0)), False) self.assertEqual(envitro.bool('TEST_NOPE_BOOL', envitro.int('TEST_NOPE_INT', 123)), True) self.assertEqual(envitro.bool('TEST_NOPE_BOOL', envitro.str('TEST_NOPE_STR', 'false')), False) self.assertEqual(envitro.bool('TEST_NOPE_BOOL', envitro.str('TEST_NOPE_STR', '')), False)
def assert_get_set_bool(self, value, expected_value): os.environ['TEST_BOOL'] = value self.assertEqual(envitro.bool('TEST_BOOL'), expected_value)
def test_default_bool(self): if 'DOES_NOT_EXIST' in os.environ: del os.environ['DOES_NOT_EXIST'] self.assertTrue(envitro.bool('DOES_NOT_EXIST', True)) self.assertFalse(envitro.bool('DOES_NOT_EXIST', False))
def test_none_bool(self): if 'DOES_NOT_EXIST_BOOL' in os.environ: del os.environ['DOES_NOT_EXIST_BOOL'] self.assertEqual(envitro.bool('DOES_NOT_EXIST_BOOL', allow_none=True), None)
def test_invalid_bool(self): envitro.write('INVALID_BOOL', 'nope') with self.assertRaises(ValueError): envitro.bool('INVALID_BOOL')
import envitro import pytz from datetime import datetime, timedelta from django.conf import settings from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned from tastypie.authentication import Authentication from tastypie.authorization import Authorization from tastypie.exceptions import BadRequest, Unauthorized # snapable import api.auth from data.models import PasswordNonce, User SNAP_AUTHENTICATION = envitro.bool('SNAP_AUTHENTICATION', True) SNAP_AUTHORIZATION = envitro.bool('SNAP_AUTHORIZATION', True) def legacyIsAuthorized(request): try: if 'HTTP_X_SNAP_USER' in request.META: # get the header data x_snap_user = request.META['HTTP_X_SNAP_USER'] user_details = x_snap_user.strip().split(':') # get the user model matching the email user = User.objects.get(email=user_details[0]) # get the matched user's password data db_pass = user.password.split('$', 1)
import os import envitro import dj_database_url # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = envitro.str('SECRET_KEY') # SECURITY WARNING: don't run with debug turned on in production! DEBUG = envitro.bool('DEBUG', False) ALLOWED_HOSTS = ['*'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'corsheaders', 'rest_framework',
# -*- coding: utf-8 -*- import envitro EMAIL_BACKEND = 'api.utils.email.SnapEmailBackend' EMAIL_HOST = envitro.str('EMAIL_HOST', 'smtp.mailgun.org') EMAIL_PORT = envitro.int('EMAIL_PORT', 587) EMAIL_USE_TLS = envitro.bool('EMAIL_USE_TLS', True) EMAIL_HOST_USER = envitro.str('EMAIL_HOST_USER') EMAIL_HOST_PASSWORD = envitro.str('EMAIL_HOST_PASSWORD') ##### sendwithus ##### SENDWITHUS_KEY = envitro.str('SENDWITHUS_KEY') # no email
# -*- coding: utf-8 -*- import envitro ##### RACKSPACE ##### CLOUDFILES_IMAGES_PREFIX = envitro.str('CLOUDFILES_IMAGES_PREFIX', 'dev_images_') CLOUDFILES_DOWNLOAD_PREFIX = envitro.str('CLOUDFILES_DOWNLOAD_PREFIX', 'dev_downloads_') CLOUDFILES_WATERMARK_PREFIX = envitro.str('CLOUDFILES_WATERMARK_PREFIX', 'dev_watermark') CLOUDFILES_EVENTS_PER_CONTAINER = 10000 CLOUDFILES_PUBLIC_NETWORK = envitro.bool('CLOUDFILES_PUBLIC_NETWORK', True)