handler = logging.StreamHandler() formatter = logging.Formatter('[%(asctime)s][PID:%(process)d][%(levelname)s][%(name)s] %(message)s') handler.setFormatter(formatter) logging.getLogger().addHandler(handler) logging.getLogger().setLevel(settings.LOG_LEVEL) logging.getLogger("passlib").setLevel("ERROR") def create_redis_connection(): redis_url = urlparse.urlparse(settings.REDIS_URL) if redis_url.path: redis_db = redis_url.path[1] else: redis_db = 0 r = redis.StrictRedis(host=redis_url.hostname, port=redis_url.port, db=redis_db, password=redis_url.password) return r setup_logging() redis_connection = create_redis_connection() mail = Mail() mail.init_mail(settings.all_settings()) statsd_client = StatsClient(host=settings.STATSD_HOST, port=settings.STATSD_PORT, prefix=settings.STATSD_PREFIX) import_query_runners(settings.QUERY_RUNNERS) from redash.version_check import reset_new_version_status reset_new_version_status()
setup_logging() redis_connection = create_redis_connection() mail = Mail() migrate = Migrate() mail.init_mail(settings.all_settings()) statsd_client = StatsClient(host=settings.STATSD_HOST, port=settings.STATSD_PORT, prefix=settings.STATSD_PREFIX) limiter = Limiter(key_func=get_ipaddr, storage_uri=settings.REDIS_URL) import_query_runners(settings.QUERY_RUNNERS) import_destinations(settings.DESTINATIONS) from redash.version_check import reset_new_version_status reset_new_version_status() class SlugConverter(BaseConverter): def to_python(self, value): # This is an ugly workaround for when we enable multi-org and some files are being called by the index rule: if value in ('google_login.png', 'favicon.ico', 'robots.txt', 'views'): raise ValidationError() return value def to_url(self, value): return value def create_app(load_admin=True):