コード例 #1
0
ファイル: test_core.py プロジェクト: MarcMeszaros/envitro
 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)
コード例 #2
0
ファイル: test_core.py プロジェクト: MarcMeszaros/envitro
 def test_none_str(self):
     if 'DOES_NOT_EXIST_STR' in os.environ:
         del os.environ['DOES_NOT_EXIST_STR']
     self.assertEqual(envitro.str('DOES_NOT_EXIST_STR', allow_none=True), None)
コード例 #3
0
ファイル: test_core.py プロジェクト: MarcMeszaros/envitro
 def assert_get_set_str(self, value, expected_value):
     os.environ['TEST_STR'] = value
     self.assertEqual(envitro.str('TEST_STR'), expected_value)
コード例 #4
0
ファイル: backup.py プロジェクト: MarcMeszaros/rax-db-backup
# -*- coding: utf-8 -*-
import envitro
import pyrax

# pyrax connection
pyrax.set_setting("identity_type", "rackspace")
pyrax.set_setting("region", envitro.str("RAX_REGION", "DFW"))
pyrax.set_credentials(envitro.str("RAX_ACCOUNT"), envitro.str("RAX_API"))
cdb = pyrax.cloud_databases

BACKUP_NAME = envitro.str("BACKUP_NAME", "rax-db-backup")
MAX_BACKUPS = envitro.int("MAX_BACKUPS", 30)

instances = cdb.list()
for instance in instances:
    # create the backup
    instance.create_backup(BACKUP_NAME)

    # get the backups and delete the extra ones if there are too many
    backups = instance.list_backups()
    backups_filtered = filter(lambda backup: backup.name == BACKUP_NAME, backups)
    if len(backups_filtered) > MAX_BACKUPS:
        for backup in backups_filtered[MAX_BACKUPS:]:
            backup.delete()
コード例 #5
0
ファイル: test_core.py プロジェクト: MarcMeszaros/envitro
 def test_invalid(self):
     if 'DOES_NOT_EXIST' in os.environ:
         del os.environ['DOES_NOT_EXIST']
     with self.assertRaises(KeyError):
         envitro.str('DOES_NOT_EXIST')
コード例 #6
0
# -*- coding: utf-8 -*-
import envitro
import etcd

ETCD_HOST = envitro.str('ETCD_HOST', '172.17.42.1')  # coreos default
ETCD_PORT = envitro.int('ETCD_PORT', 2379)
ETCD_KEY_REDIS = envitro.str('ETCD_KEY_REDIS', '/services/redis')

REDIS_HOST = envitro.str('REDIS_HOST', allow_none=True)
REDIS_PORT = envitro.int('REDIS_PORT', allow_none=True)
# if the redis host and port were not explicitly set, try and infer them from etcd
if not (REDIS_HOST and REDIS_PORT):
    try:
        client = etcd.Client(host=ETCD_HOST, port=ETCD_PORT, read_timeout=5)
        vals = client.read(ETCD_KEY_REDIS).children.next().value.rsplit(':', 1)
        REDIS_HOST = vals[0]
        REDIS_PORT = int(vals[1])
    except:
        print('No ETCD connection. Using localhost defaults.')
        REDIS_HOST = '127.0.0.1'
        REDIS_PORT = 6379

##### Redis #####
REDIS_DB = envitro.int('REDIS_DB', 0)
コード例 #7
0
ファイル: rackspace.py プロジェクト: codeAshu/snapable-api
# django/tastypie/libs
import envitro
import pyrax
import warnings

from django.conf import settings

# pyrax connection
RACKSPACE_USERNAME = envitro.str('RACKSPACE_USERNAME')
RACKSPACE_APIKEY = envitro.str('RACKSPACE_APIKEY')

# attributes
try:
    pyrax.set_setting('identity_type', 'rackspace')
    pyrax.set_setting('region', 'DFW')
    pyrax.set_credentials(RACKSPACE_USERNAME, RACKSPACE_APIKEY)
    cloud_files = pyrax.connect_to_cloudfiles(
        public=settings.CLOUDFILES_PUBLIC_NETWORK)
except:
    warnings.warn('Not able to setup CloudFiles connection')
    cloud_files = None
コード例 #8
0
ファイル: settings.py プロジェクト: adrienemery/auv-control
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.9/ref/settings/
"""

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',
コード例 #9
0
# -*- coding: utf-8 -*-
from __future__ import absolute_import

import envitro
import pymysql

pymysql.install_as_MySQLdb()

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': envitro.str('DATABASE_NAME', 'snapabledb'),
        'USER': envitro.str('DATABASE_USER', 'snapableusr'),
        'PASSWORD': envitro.str('DATABASE_PASSWORD', 'snapable12345'),
        'HOST': envitro.str('DATABASE_HOST', '127.0.0.1'),
        'PORT': envitro.int('DATABASE_PORT', 3306),
    }
}
コード例 #10
0
# -*- 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
コード例 #11
0
ファイル: logging.py プロジェクト: codeAshu/snapable-api
# -*- coding: utf-8 -*-
import envitro

# sentry/raven
if envitro.isset('SENTRY_DSN'):
    RAVEN_CONFIG = {
        'dsn': envitro.str('SENTRY_DSN'),
    }

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(asctime)s [%(process)d] [%(levelname)s] %(message)s'
        },
        'simple': {
            'format': '[%(levelname)s] %(message)s'
        },
        'requests': {
            'format': '%(asctime)s %(message)s'
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'simple',
        },
        'console.requests': {
            'level': 'INFO',
コード例 #12
0
ファイル: rackspace.py プロジェクト: codeAshu/snapable-api
# -*- 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)