Show More
@@ -23,6 +23,7 b' import logging' | |||
|
23 | 23 | from collections import namedtuple |
|
24 | 24 | from functools import wraps |
|
25 | 25 | |
|
26 | from rhodecode.lib import caches | |
|
26 | 27 | from rhodecode.lib.caching_query import FromCache |
|
27 | 28 | from rhodecode.lib.utils2 import ( |
|
28 | 29 | Optional, AttributeDict, safe_str, remove_prefix, str2bool) |
@@ -201,14 +202,8 b' class SettingsModel(BaseModel):' | |||
|
201 | 202 | return res |
|
202 | 203 | |
|
203 | 204 | def get_all_settings(self, cache=False): |
|
205 | def _compute(): | |
|
204 | 206 | q = self._get_settings_query() |
|
205 | if cache: | |
|
206 | repo = self._get_repo(self.repo) if self.repo else None | |
|
207 | cache_key = ( | |
|
208 | "get_repo_{}_settings".format(repo.repo_id) | |
|
209 | if repo else "get_hg_settings") | |
|
210 | q = q.options(FromCache("sql_cache_short", cache_key)) | |
|
211 | ||
|
212 | 207 | if not q: |
|
213 | 208 | raise Exception('Could not get application settings !') |
|
214 | 209 | |
@@ -218,6 +213,20 b' class SettingsModel(BaseModel):' | |||
|
218 | 213 | } |
|
219 | 214 | return settings |
|
220 | 215 | |
|
216 | if cache: | |
|
217 | repo = self._get_repo(self.repo) if self.repo else None | |
|
218 | namespace = 'rhodecode_settings' | |
|
219 | cache_manager = caches.get_cache_manager( | |
|
220 | 'sql_cache_short', namespace) | |
|
221 | _cache_key = ( | |
|
222 | "get_repo_{}_settings".format(repo.repo_id) | |
|
223 | if repo else "get_app_settings") | |
|
224 | ||
|
225 | return cache_manager.get(_cache_key, createfunc=_compute) | |
|
226 | ||
|
227 | else: | |
|
228 | return _compute() | |
|
229 | ||
|
221 | 230 | def get_auth_settings(self): |
|
222 | 231 | q = self._get_settings_query() |
|
223 | 232 | q = q.filter( |
General Comments 0
You need to be logged in to leave comments.
Login now