Python django.conf.settings.CACHES Examples
The following are 30
code examples of django.conf.settings.CACHES().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.conf.settings
, or try the search function
.
Example #1
Source File: panel.py From coursys with GNU General Public License v3.0 | 6 votes |
def settings_info(): info = [] info.append(('Deploy mode', settings.DEPLOY_MODE)) info.append(('Database engine', settings.DATABASES['default']['ENGINE'])) info.append(('Authentication Backends', settings.AUTHENTICATION_BACKENDS)) info.append(('Cache backend', settings.CACHES['default']['BACKEND'])) info.append(('Haystack engine', settings.HAYSTACK_CONNECTIONS['default']['ENGINE'])) info.append(('Email backend', settings.EMAIL_BACKEND)) if hasattr(settings, 'CELERY_EMAIL') and settings.CELERY_EMAIL: info.append(('Celery email backend', settings.CELERY_EMAIL_BACKEND)) if hasattr(settings, 'CELERY_BROKER_URL'): info.append(('Celery broker', settings.CELERY_BROKER_URL.split(':')[0])) DATABASES = copy.deepcopy(settings.DATABASES) for d in DATABASES: if 'PASSWORD' in DATABASES[d]: DATABASES[d]['PASSWORD'] = '*****' info.append(('DATABASES', mark_safe('<pre>'+escape(pprint.pformat(DATABASES))+'</pre>'))) return info
Example #2
Source File: __init__.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def _create_cache(backend, **kwargs): try: # Try to get the CACHES entry for the given backend name first try: conf = settings.CACHES[backend] except KeyError: try: # Trying to import the given backend, in case it's a dotted path import_string(backend) except ImportError as e: raise InvalidCacheBackendError("Could not find backend '%s': %s" % ( backend, e)) location = kwargs.pop('LOCATION', '') params = kwargs else: params = conf.copy() params.update(kwargs) backend = params.pop('BACKEND') location = params.pop('LOCATION', '') backend_cls = import_string(backend) except ImportError as e: raise InvalidCacheBackendError( "Could not find backend '%s': %s" % (backend, e)) return backend_cls(location, params)
Example #3
Source File: __init__.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def __getitem__(self, alias): try: return self._caches.caches[alias] except AttributeError: self._caches.caches = {} except KeyError: pass if alias not in settings.CACHES: raise InvalidCacheBackendError( "Could not find config for '%s' in settings.CACHES" % alias ) cache = _create_cache(alias) self._caches.caches[alias] = cache return cache
Example #4
Source File: benchmark.py From django-cachalot with BSD 3-Clause "New" or "Revised" License | 6 votes |
def run(self): for db_alias in settings.DATABASES: self.db_alias = db_alias self.db_vendor = connections[self.db_alias].vendor print('Benchmarking %s…' % self.db_vendor) for cache_alias in settings.CACHES: cache = caches[cache_alias] self.cache_name = cache.__class__.__name__[:-5].lower() with override_settings(CACHALOT_CACHE=cache_alias): self.execute_benchmark() self.df = pd.DataFrame.from_records(self.data) if not os.path.exists(RESULTS_PATH): os.mkdir(RESULTS_PATH) self.df.to_csv(os.path.join(RESULTS_PATH, 'data.csv')) self.xlim = (0, self.df['time'].max() * 1.01) self.output('db') self.output('cache')
Example #5
Source File: views.py From django-qr-code with BSD 3-Clause "New" or "Revised" License | 6 votes |
def cache_qr_code(): """ Decorator that caches the requested page if a settings named 'QR_CODE_CACHE_ALIAS' exists and is not empty or None. """ def decorator(view_func): @functools.wraps(view_func) def _wrapped_view(request, *view_args, **view_kwargs): cache_enabled = request.GET.get('cache_enabled', True) if cache_enabled and hasattr(settings, 'QR_CODE_CACHE_ALIAS') and settings.QR_CODE_CACHE_ALIAS: # We found a cache alias for storing the generate qr code and cache is enabled, use it to cache the # page. timeout = settings.CACHES[settings.QR_CODE_CACHE_ALIAS]['TIMEOUT'] key_prefix = 'token=%s.user_pk=%s' % (request.GET.get('url_signature_enabled') or constants.DEFAULT_URL_SIGNATURE_ENABLED, request.user.pk) response = cache_page(timeout, cache=settings.QR_CODE_CACHE_ALIAS, key_prefix=key_prefix)(view_func)(request, *view_args, **view_kwargs) else: # No cache alias for storing the generated qr code, call the view as is. response = (view_func)(request, *view_args, **view_kwargs) return response return _wrapped_view return decorator
Example #6
Source File: mysql_cache_migration.py From django-mysql with BSD 3-Clause "New" or "Revised" License | 6 votes |
def handle(self, *args, **options): aliases = set(options["aliases"]) if not aliases: aliases = settings.CACHES tables = set() for alias in aliases: try: cache = caches[alias] except InvalidCacheBackendError: raise CommandError("Cache '{}' does not exist".format(alias)) if not isinstance(cache, MySQLCache): # pragma: no cover continue tables.add(cache._table) if not tables: self.stderr.write("No MySQLCache instances in CACHES") return migration = self.render_migration(tables) self.stdout.write(migration)
Example #7
Source File: cull_mysql_caches.py From django-mysql with BSD 3-Clause "New" or "Revised" License | 6 votes |
def handle(self, *args, **options): verbosity = options.get("verbosity") aliases = set(options["aliases"]) if not aliases: aliases = settings.CACHES for alias in aliases: try: cache = caches[alias] except InvalidCacheBackendError: raise CommandError("Cache '{}' does not exist".format(alias)) if not isinstance(cache, MySQLCache): # pragma: no cover continue if verbosity >= 1: self.stdout.write( "Deleting from cache '{}'... ".format(alias), ending="" ) num_deleted = cache.cull() if verbosity >= 1: self.stdout.write("{} entries deleted.".format(num_deleted))
Example #8
Source File: __init__.py From luscan-devel with GNU General Public License v2.0 | 6 votes |
def parse_backend_conf(backend, **kwargs): """ Helper function to parse the backend configuration that doesn't use the URI notation. """ # Try to get the CACHES entry for the given backend name first conf = settings.CACHES.get(backend, None) if conf is not None: args = conf.copy() args.update(kwargs) backend = args.pop('BACKEND') location = args.pop('LOCATION', '') return backend, location, args else: try: # Trying to import the given backend, in case it's a dotted path mod_path, cls_name = backend.rsplit('.', 1) mod = importlib.import_module(mod_path) backend_cls = getattr(mod, cls_name) except (AttributeError, ImportError, ValueError): raise InvalidCacheBackendError("Could not find backend '%s'" % backend) location = kwargs.pop('LOCATION', '') return backend, location, kwargs
Example #9
Source File: util.py From django-userlog with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_userlog_settings(): global _settings if _settings is not None: return _settings def get_setting(name, default): return getattr(settings, 'USERLOG_' + name, default) # Coerce values into expected types in order to detect invalid settings. _settings = UserLogSettings( # Hardcode the default timeout because it isn't exposed by Django. timeout=int(settings.CACHES['userlog'].get('TIMEOUT', 300)), max_size=int(get_setting('MAX_SIZE', 25)), publish=bool(get_setting('PUBLISH', True)), ignore_urls=[re.compile(pattern) for pattern in get_setting('IGNORE_URLS', [])], websocket_address=str(get_setting('WEBSOCKET_ADDRESS', 'ws://localhost:8080/')), ) return _settings
Example #10
Source File: util.py From django-userlog with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_redis_client(): global _client if _client is not None: return _client try: cache = caches['userlog'] except KeyError: raise ImproperlyConfigured("No 'userlog' cache found in CACHES.") try: try: _client = cache.client # django-redis except AttributeError: _client = cache.get_master_client() # django-redis-cache assert isinstance(_client, redis.StrictRedis) except (AssertionError, AttributeError): raise ImproperlyConfigured("'userlog' cache doesn't use Redis.") return _client
Example #11
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_second_call_doesnt_crash(self): out = io.StringIO() management.call_command('createcachetable', stdout=out) self.assertEqual(out.getvalue(), "Cache table 'test cache table' already exists.\n" * len(settings.CACHES))
Example #12
Source File: createcachetable.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def add_arguments(self, parser): parser.add_argument('args', metavar='table_name', nargs='*', help='Optional table names. Otherwise, settings.CACHES is used to ' 'find cache tables.') parser.add_argument('--database', action='store', dest='database', default=DEFAULT_DB_ALIAS, help='Nominates a database onto which the cache tables will be ' 'installed. Defaults to the "default" database.')
Example #13
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_location_multiple_servers(self): locations = [ ['server1.tld', 'server2:11211'], 'server1.tld;server2:11211', 'server1.tld,server2:11211', ] for location in locations: with self.subTest(location=location): params = {'BACKEND': self.base_params['BACKEND'], 'LOCATION': location} with self.settings(CACHES={'default': params}): self.assertEqual(cache._servers, ['server1.tld', 'server2:11211'])
Example #14
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_default_never_expiring_timeout(self): # Regression test for #22845 with self.settings(CACHES=caches_setting_for_tests( base=self.base_params, exclude=memcached_excluded_caches, TIMEOUT=None)): cache.set('infinite_foo', 'bar') self.assertEqual(cache.get('infinite_foo'), 'bar')
Example #15
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_default_far_future_timeout(self): # Regression test for #22845 with self.settings(CACHES=caches_setting_for_tests( base=self.base_params, exclude=memcached_excluded_caches, # 60*60*24*365, 1 year TIMEOUT=31536000)): cache.set('future_foo', 'bar') self.assertEqual(cache.get('future_foo'), 'bar')
Example #16
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def setUp(self): super().setUp() self.dirname = tempfile.mkdtemp() # Caches location cannot be modified through override_settings / modify_settings, # hence settings are manipulated directly here and the setting_changed signal # is triggered manually. for cache_params in settings.CACHES.values(): cache_params.update({'LOCATION': self.dirname}) setting_changed.send(self.__class__, setting='CACHES', enter=False)
Example #17
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_get_or_set_racing(self): with mock.patch('%s.%s' % (settings.CACHES['default']['BACKEND'], 'add')) as cache_add: # Simulate cache.add() failing to add a value. In that case, the # default value should be returned. cache_add.return_value = False self.assertEqual(cache.get_or_set('key', 'default'), 'default')
Example #18
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_second_call_doesnt_crash(self): out = io.StringIO() management.call_command('createcachetable', stdout=out) self.assertEqual(out.getvalue(), "Cache table 'test cache table' already exists.\n" * len(settings.CACHES))
Example #19
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_location_multiple_servers(self): locations = [ ['server1.tld', 'server2:11211'], 'server1.tld;server2:11211', 'server1.tld,server2:11211', ] for location in locations: with self.subTest(location=location): params = {'BACKEND': self.base_params['BACKEND'], 'LOCATION': location} with self.settings(CACHES={'default': params}): self.assertEqual(cache._servers, ['server1.tld', 'server2:11211'])
Example #20
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_default_never_expiring_timeout(self): # Regression test for #22845 with self.settings(CACHES=caches_setting_for_tests( base=self.base_params, exclude=memcached_excluded_caches, TIMEOUT=None)): cache.set('infinite_foo', 'bar') self.assertEqual(cache.get('infinite_foo'), 'bar')
Example #21
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_memcached_uses_highest_pickle_version(self): # Regression test for #19810 for cache_key in settings.CACHES: with self.subTest(cache_key=cache_key): self.assertEqual(caches[cache_key]._cache.pickleProtocol, pickle.HIGHEST_PROTOCOL)
Example #22
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def setUp(self): super().setUp() self.dirname = tempfile.mkdtemp() # Caches location cannot be modified through override_settings / modify_settings, # hence settings are manipulated directly here and the setting_changed signal # is triggered manually. for cache_params in settings.CACHES.values(): cache_params.update({'LOCATION': self.dirname}) setting_changed.send(self.__class__, setting='CACHES', enter=False)
Example #23
Source File: memcached_status.py From django-heartbeat with MIT License | 5 votes |
def check(request): all_stats = [] for alias in settings.CACHES: server_stats = [] if is_memcached_profile(alias): cache_backend = get_cache(alias) for server, stats in cache_backend._cache.get_stats(): stats = debyteify(stats) result = OrderedDict() result['name'] = debyteify(server) result['summary'] = get_summary(stats) result['details'] = stats server_stats.append(result) all_stats.append(dict(alias=alias, locations=server_stats)) return all_stats
Example #24
Source File: memcached_status.py From django-heartbeat with MIT License | 5 votes |
def is_memcached_profile(cache_profile): backends = ['django.core.cache.backends.memcached.MemcachedCache', 'django.core.cache.backends.memcached.PyLibMCCache'] return any( [settings.CACHES[cache_profile]['BACKEND'] == b for b in backends])
Example #25
Source File: settings.py From django_mail_admin with MIT License | 5 votes |
def get_cache_backend(): if hasattr(settings, 'CACHES'): if "django_mail_admin" in settings.CACHES: return get_cache("django_mail_admin") else: # Sometimes this raises InvalidCacheBackendError, which is ok too try: return get_cache("default") except InvalidCacheBackendError: pass return None
Example #26
Source File: test_cache.py From django_mail_admin with MIT License | 5 votes |
def test_get_backend_settings(self): """Test basic get backend function and its settings""" # Sanity check self.assertTrue('django_mail_admin' in settings.CACHES) self.assertTrue(get_cache_backend()) # If no post office key is defined, it should return default del(settings.CACHES['django_mail_admin']) self.assertTrue(get_cache_backend()) # If no caches key in settings, it should return None delattr(settings, 'CACHES') self.assertEqual(None, get_cache_backend())
Example #27
Source File: tests.py From djongo with GNU Affero General Public License v3.0 | 5 votes |
def test_get_or_set_racing(self): with mock.patch('%s.%s' % (settings.CACHES['default']['BACKEND'], 'add')) as cache_add: # Simulate cache.add() failing to add a value. In that case, the # default value should be returned. cache_add.return_value = False self.assertEqual(cache.get_or_set('key', 'default'), 'default')
Example #28
Source File: cache.py From django-admin-interface with MIT License | 5 votes |
def app_cache(): return caches['admin_interface'] if 'admin_interface' in settings.CACHES else cache
Example #29
Source File: cache.py From zing with GNU General Public License v3.0 | 5 votes |
def get_cache(cache=None): """Return ``cache`` or the 'default' cache if ``cache`` is not specified or ``cache`` is not configured. :param cache: The name of the requested cache. """ try: # Check for proper Redis persistent backends # FIXME: this logic needs to be a system sanity check if ( not settings.DEBUG and cache in PERSISTENT_STORES and ( cache not in settings.CACHES or "RedisCache" not in settings.CACHES[cache]["BACKEND"] or settings.CACHES[cache].get("TIMEOUT", "") is not None ) ): raise ImproperlyConfigured( "Pootle requires a Redis-backed caching backend for %r " "with `TIMEOUT: None`. Please review your settings." % cache ) return caches[cache] except InvalidCacheBackendError: return default_cache
Example #30
Source File: realtime.py From django-userlog with BSD 3-Clause "New" or "Revised" License | 5 votes |
def redis_connection(): userlog = settings.CACHES['userlog'] options = userlog.get('OPTIONS', {}) if ':' in userlog['LOCATION']: host, port = userlog['LOCATION'].rsplit(':', 1) port = int(port) else: host = userlog['LOCATION'] port = 0 db = options.get('DB', 1) password = options.get('PASSWORD', None) redis = yield from asyncio_redis.Connection.create( host=host, port=port, password=password, db=db) return redis