def get_parsed_content(setting_name): cache_name = 'misago_legal_%s' % setting_name cached_content = cache.get(cache_name) unparsed_content = settings.get_lazy_setting(setting_name) checksum_source = '%s:%s' % (unparsed_content, settings.SECRET_KEY) unparsed_checksum = md5(checksum_source).hexdigest() if cached_content and cached_content.get('checksum') == unparsed_checksum: return cached_content['parsed'] else: cached_content = { 'checksum': unparsed_checksum, 'parsed': common_flavour(unparsed_content)['parsed_text'], } cache.set(cache_name, cached_content) return cached_content['parsed']