cache bugfix

remotes/origin/1203
Nazar Kotjuk 10 years ago
parent 104f74afb9
commit 9f1f988191
  1. 12
      article/managers.py
  2. 20
      country/manager.py
  3. 7
      emencia/django/newsletter/forms.py
  4. 28
      functions/models_methods.py
  5. 2
      settings/management/commands/update_views_cache.py
  6. 24
      theme/manager.py

@ -26,10 +26,10 @@ class ArticleManager(TranslationManager):
model = self.model
return self.language().filter(type=model.blog)
def main_page_news(self):
def main_page_news(self, cached=True):
lang = translation.get_language()
key = 'main_page_news_%s'%lang
if key in cache:
key = 'main_page_news_%s' % lang
if cached and key in cache:
cached_news = cache.get(key)
return cached_news
else:
@ -37,10 +37,10 @@ class ArticleManager(TranslationManager):
cache.set(key, news, self.cache_time)
return news
def main_page_blogs(self):
def main_page_blogs(self, cached=True):
lang = translation.get_language()
key = 'main_page_blogs_%s'%lang
if key in cache:
key = 'main_page_blogs_%s' % lang
if cached and key in cache:
cached_blogs = cache.get(key)
return cached_blogs
else:

@ -14,11 +14,11 @@ class CountryManager(TranslationManager):
except:
return None
def expo_countries(self):
def expo_countries(self, cached=True):
lang = translation.get_language()
key = 'used_expo_countries_%s'%lang
cached_countries = cache.get(key)
if cached_countries:
if cached and cached_countries:
return cached_countries
else:
from exposition.models import Exposition
@ -27,11 +27,11 @@ class CountryManager(TranslationManager):
cache.set(key, countries, self.cache_time)
return countries
def expo_countries_with_count(self):
def expo_countries_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_expo_countries_count_%s'%lang
cached_countries = cache.get(key)
if cached_countries:
if cached and cached_countries:
return cached_countries
else:
@ -50,11 +50,11 @@ class CountryManager(TranslationManager):
cache.set(key, countries, self.cache_time)
return countries
def conference_countries_with_count(self):
def conference_countries_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_conference_countries_count_%s'%lang
cached_countries = cache.get(key)
if cached_countries:
if cached and cached_countries:
return cached_countries
else:
@ -73,11 +73,11 @@ class CountryManager(TranslationManager):
cache.set(key, countries, self.cache_time)
return countries
def conference_countries(self):
def conference_countries(self, cached=True):
lang = translation.get_language()
key = 'used_conference_countries_%s'%lang
cached_countries = cache.get(key)
if cached_countries:
if cached and cached_countries:
return cached_countries
else:
from conference.models import Conference
@ -97,13 +97,13 @@ class CountryManager(TranslationManager):
class AreaManager(TranslationManager):
cache_time = 55
def all_sorted(self):
def all_sorted(self, cached=True):
"""
return list, not queryset
"""
lang = translation.get_language()
key = 'country_area_all_%s' % lang
if key in cache:
if cached and key in cache:
result = cache.get(key)
else:
model = self.model

@ -159,15 +159,22 @@ class ContactFilterForm(forms.Form):
if self.cleaned_data.get('not_active'):
title = ' not active ' + title
qs = qs.filter(activated=False)
else:
qs = qs.filter(activated=True)
if self.cleaned_data.get('not_valid'):
title = 'not valid e-mail ' + title
qs = qs.filter(valid=False)
else:
qs = qs.filter(valid=True)
if self.cleaned_data.get("created_from"):
qs = qs.filter(creation_date__gte=datetime.strptime(self.cleaned_data['created_from'], "%d.%m.%Y"))
if self.cleaned_data.get("created_to"):
qs = qs.filter(creation_date__lt=datetime.strptime(self.cleaned_data['created_to'], "%d.%m.%Y"))
if self.cleaned_data.get('not_subscriber'):
qs = qs.filter(subscriber=False)
else:
qs = qs.filter(subscriber=True)
qs = qs.distinct()
return qs, title

@ -25,10 +25,10 @@ class ExpoManager(TranslationManager):
except:
return None
def expo_main(self):
def expo_main(self, cached=True):
lang = translation.get_language()
key = 'expo_main_page_key_%s'%lang
if key in cache:
if cached and key in cache:
result = cache.get(key)
else:
result = list(self.language(lang).
@ -40,10 +40,10 @@ class ExpoManager(TranslationManager):
return result
def conf_main(self):
def conf_main(self, cached=True):
lang = translation.get_language()
key = 'conf_main_page_key_%s'%lang
if key in cache:
if cached and key in cache:
result = cache.get(key)
else:
result = list(self.language(lang).
@ -71,10 +71,10 @@ class CityManager(TranslationManager):
cities_id = [item['city_id'] for item in Exposition.objects.values('city_id').distinct()]
return self.language().filter(id__in=cities_id)
def expo_cities(self):
def expo_cities(self, cached=True):
lang = translation.get_language()
key = 'used_expo_cities_%s' % lang
if key in cache:
if cached and key in cache:
cached_cities = cache.get(key)
return cached_cities
else:
@ -84,10 +84,10 @@ class CityManager(TranslationManager):
cache.set(key, cities, self.cache_time)
return cities
def expo_cities_with_count(self):
def expo_cities_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_expo_cities_count_%s' % lang
if key in cache:
if cached and key in cache:
cached_cities = cache.get(key)
return cached_cities
else:
@ -106,10 +106,10 @@ class CityManager(TranslationManager):
cache.set(key, cities, self.cache_time)
return cities
def conference_cities_with_count(self):
def conference_cities_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_conference_cities_count_%s' % lang
if key in cache:
if cached and key in cache:
cached_cities = cache.get(key)
return cached_cities
else:
@ -129,10 +129,10 @@ class CityManager(TranslationManager):
cache.set(key, cities, self.cache_time)
return cities
def conference_cities(self):
def conference_cities(self, cached=True):
lang = translation.get_language()
key = 'used_conference_cities_%s'%lang
if key in cache:
if cached and key in cache:
cached_cities = cache.get(key)
return cached_cities
else:
@ -142,13 +142,13 @@ class CityManager(TranslationManager):
cache.set(key, cities, self.cache_time)
return cities
def cities(self):
def cities(self, cached=True):
"""
not finished
"""
lang = translation.get_language()
key = 'used_cities_%s'%lang
if key in cache:
if cached and key in cache:
cached_cities = cache.get(key)
return cached_cities
else:

@ -44,5 +44,5 @@ class Command(BaseCommand):
key = k % lang
print(key)
result = func()
result = func(cached=False)
cache.set(key, result, CACHE_TIME)

@ -26,11 +26,11 @@ class ThemeActiveManager(TranslationManager):
Model = self.model
return list(self.language().filter(types=Model.types.conference)[:6])
def expo_themes(self):
def expo_themes(self, cached=True):
lang = translation.get_language()
key = 'used_expo_themes_%s'%lang
cached_themes = cache.get(key)
if cached_themes:
if cached and cached_themes:
return cached_themes
else:
from exposition.models import Exposition
@ -39,11 +39,11 @@ class ThemeActiveManager(TranslationManager):
cache.set(key, themes, 300)
return themes
def expo_themes_with_count(self):
def expo_themes_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_expo_themes_count_%s'%lang
cached_themes = cache.get(key)
if cached_themes:
if cached and cached_themes:
return cached_themes
else:
@ -57,11 +57,11 @@ class ThemeActiveManager(TranslationManager):
cache.set(key, themes, self.cache_time)
return themes
def conference_themes_with_count(self):
def conference_themes_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_conference_themes_count_%s'%lang
cached_themes = cache.get(key)
if cached_themes:
if cached and cached_themes:
return cached_themes
else:
from conference.models import Conference
@ -102,11 +102,11 @@ class TagActiveManager(TranslationManager):
cache.set(key, tags, 300)
return tags
def conference_tags(self):
def conference_tags(self, cached=True):
lang = translation.get_language()
key = 'used_conference_tags_%s'%lang
cached_tags = cache.get(key)
if cached_tags:
if cached and cached_tags:
return cached_tags
else:
from conference.models import Conference
@ -119,11 +119,11 @@ class TagActiveManager(TranslationManager):
cache.set(key, tags, self.cache_time)
return tags
def expo_themes_with_count(self):
def expo_themes_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_expo_tags_count_%s'%lang
cached_tags = cache.get(key)
if cached_tags:
if cached and cached_tags:
return cached_tags
else:
@ -137,11 +137,11 @@ class TagActiveManager(TranslationManager):
cache.set(key, tags, self.cache_time)
return tags
def conference_themes_with_count(self):
def conference_themes_with_count(self, cached=True):
lang = translation.get_language()
key = 'used_conference_tags_count_%s'%lang
cached_tags = cache.get(key)
if cached_tags:
if cached and cached_tags:
return cached_tags
else:
from conference.models import Conference

Loading…
Cancel
Save