forked from rc/aircox
work on player: integrate vuejs + noscript; remove TemplateMixin for Component and ExposedData; rewrite most of the player; clean up files; do lot of other things
This commit is contained in:
@ -1,6 +1,13 @@
|
||||
import inspect
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from wagtail.wagtailcore.models import Page
|
||||
|
||||
def image_url(image, filter_spec):
|
||||
"""
|
||||
Return an url for the given image -- shortcut function for
|
||||
wagtailimages' serve.
|
||||
"""
|
||||
from wagtail.wagtailimages.views.serve import generate_signature
|
||||
signature = generate_signature(image.id, filter_spec)
|
||||
url = reverse('wagtailimages_serve', args=(signature, image.id, filter_spec))
|
||||
@ -8,12 +15,41 @@ def image_url(image, filter_spec):
|
||||
return url
|
||||
|
||||
def get_station_settings(station):
|
||||
"""
|
||||
Get WebsiteSettings for the given station.
|
||||
"""
|
||||
import aircox_cms.models as models
|
||||
return models.WebsiteSettings.objects \
|
||||
.filter(station = station).first()
|
||||
|
||||
def get_station_site(station):
|
||||
"""
|
||||
Get the site of the given station.
|
||||
"""
|
||||
settings = get_station_settings(station)
|
||||
return settings and settings.site
|
||||
|
||||
def related_pages_filter(reset_cache=False):
|
||||
"""
|
||||
Return a dict that can be used to filter foreignkey to pages'
|
||||
subtype declared in aircox_cms.models.
|
||||
|
||||
This value is stored in cache, but it is possible to reset the
|
||||
cache using the `reset_cache` parameter.
|
||||
"""
|
||||
import aircox_cms.models as cms
|
||||
|
||||
if not reset_cache and hasattr(related_pages_filter, 'cache'):
|
||||
return related_pages_filter.cache
|
||||
related_pages_filter.cache = {
|
||||
'model__in': list(name.lower() for name, member in
|
||||
inspect.getmembers(cms,
|
||||
lambda x: inspect.isclass(x) and issubclass(x, Page)
|
||||
)
|
||||
if member != Page
|
||||
),
|
||||
}
|
||||
return related_pages_filter.cache
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user