def get_cache_key(*args, **kwargs): from django.core.urlresolvers import get_urlconf from pages.models import name_to_url import urllib urlconf = get_urlconf() or settings.ROOT_URLCONF region = CacheMixin.get_region_slug_param(*args, **kwargs) slug = kwargs.get('slug') # Control characters and whitespace not allowed in memcached keys date1 = name_to_url(kwargs.get('date1', '')) date2 = name_to_url(kwargs.get('date2', '')) version1 = name_to_url(kwargs.get('version1', '')) version2 = name_to_url(kwargs.get('version2', '')) return 'diff:%s/%s/%s/%s/%s/%s/%s' % (urlconf, name_to_url(region), date1, date2, version1, version2, slugify(slug).replace(' ', '_'))
def render(self, context): try: cls = '' url = self.href page = context['page'] if self.is_relative_link(url): if url.startswith('_files/'): filename = file_url_to_name(url) url = reverse('pages:file-info', args=[page.pretty_slug, filename]) try: file = PageFile.objects.get(slug__exact=page.slug, name__exact=filename) cls = ' class="file_%s"' % file.rough_type except PageFile.DoesNotExist: cls = ' class="missing_link"' else: try: page = Page.objects.get(slug__exact=slugify(url)) url = reverse('pages:show', args=[page.pretty_slug]) except Page.DoesNotExist: cls = ' class="missing_link"' # Convert to proper URL: My%20page -> My_page url = name_to_url(url_to_name(url)) url = reverse('pages:show', args=[url]) return '<a href="%s"%s>%s</a>' % (url, cls, self.nodelist.render(context)) except: return ''
def popup_html(mapdata=None, pagename=None): if mapdata: pagename = mapdata.page.name slug = name_to_url(pagename) # Use page_base_path() to avoid reverse() overhead. page_url = urljoin(page_base_path(), slug) return mark_safe('<a href="%s">%s</a>' % (page_url, pagename))
def get_cache_key(*args, **kwargs): from django.core.urlresolvers import get_urlconf from pages.models import name_to_url urlconf = get_urlconf() or settings.ROOT_URLCONF region = CacheMixin.get_region_slug_param(*args, **kwargs) # Control characters and whitespace not allowed in memcached keys return 'map:%s/%s/main_map' % (urlconf, name_to_url(region))
def get_cache_key(*args, **kwargs): from django.core.urlresolvers import get_urlconf from pages.models import name_to_url urlconf = get_urlconf() or settings.ROOT_URLCONF slug = kwargs.get('slug') region = CacheMixin.get_region_slug_param(*args, **kwargs) # Control characters and whitespace not allowed in memcached keys return '%s/%s/%s' % (urlconf, name_to_url(region), slugify(slug).replace(' ', '_'))
def name_to_url(value): return models.name_to_url(value)
def test_name_to_url(self): self.assertEqual(name_to_url('Front Page'), 'Front_Page') self.assertEqual(name_to_url("Ben & Jerry's"), 'Ben_%26_Jerry%27s')