Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- f = Flask(__name__)
- # 'TheFuture' is the name of my laptop. It signifies that we are in
- # development mode.
- if socket.gethostname().startswith('TheFuture'):
- f.config.from_object('config.DevelopmentConfig')
- # If 'TheFuture' isn't the host, then we are in production.
- else:
- f.config.from_object('config.ProductionConfig')
- # MongoDB connection
- connection = Connection(f.config['MONGODB_HOST'], f.config['MONGODB_PORT'])
- db = connection['MONGODB_DB']
- # Try authenticating. This will only work in production. In development,
- # MONGODB_USER and MONGODB_PASSWORD will raise KeyErrors.
- try:
- db.authenticate(f.config['MONGODB_USER'], f.config['MONGODB_PASSWORD'])
- except KeyError:
- pass
- class Config(object):
- '''Default configuration object.'''
- DEBUG = False
- TESTING = False
- PORT = int(os.environ.get('PORT', 5000))
- class ProductionConfig(Config):
- '''Configuration object specific to production environments.'''
- REDIS_URL = os.environ.get('REDISTOGO_URL')
- if REDIS_URL:
- url = urlparse.urlparse(REDIS_URL)
- REDIS_HOST = url.hostname
- REDIS_PORT = url.port
- REDIS_PASSWORD = url.password
- MONGOLAB_URI = os.environ.get('MONGOLAB_URI')
- if MONGOLAB_URI:
- url = urlparse.urlparse(MONGOLAB_URI)
- MONGODB_USER = url.username
- MONGODB_PASSWORD = url.password
- MONGODB_HOST = url.hostname
- MONGODB_PORT = url.port
- MONGODB_DB = url.path[1:]
- class DevelopmentConfig(Config):
- '''Configuration object specific to development environments.'''
- DEBUG = True
- MONGODB_HOST = 'localhost'
- MONGODB_PORT = 27017
- MONGODB_DB = 'twitter-clone-python-development'
- 2012-09-28T13:57:25+00:00 app[web.1]: pymongo.errors.AutoReconnect: could not connect to ds037997.mongolab.com:27017: timed out
Add Comment
Please, Sign In to add comment