def url(self): # explicit _external=False since offline site creation forces # _external=True if not specified and we want to be able to mangle # the generated urls into something suitable as filenames if self.is_user_link: return self.link_url elif (self.is_internal_link or self.is_plugin_link) and not self.default_data.endpoint: return None elif self.is_internal_link: data = self.default_data if data.static_site and isinstance( data.static_site, basestring) and g.get('static_site'): return data.static_site kwargs = {} if self.name == 'timetable': from fossir.modules.events.layout import layout_settings if layout_settings.get(self.event_ref, 'timetable_by_room'): kwargs['layout'] = 'room' if layout_settings.get(self.event_ref, 'timetable_detailed'): start_date = self.event_ref.start_dt_local kwargs['_anchor'] = start_date.strftime('%Y%m%d.detailed') return url_for(data.endpoint, self.event_ref, _external=False, **kwargs) elif self.is_plugin_link: from fossir.core.plugins import url_for_plugin return url_for_plugin(self.default_data.endpoint, self.event_ref, _external=False) elif self.is_page: return url_for('event_pages.page_display', self.event_ref, page_id=self.page_id, slug=slugify(self.title), _external=False) else: return None
def test_slugify_lower(input, lower, output): assert slugify(input, lower=lower) == output
def test_slugify_args(): assert slugify('foo', 123, 'bar') == 'foo-123-bar' assert slugify(u'm\xf6p'.encode('utf-8'), 123, u'b\xe4r') == 'moep-123-baer'
def test_slugify_maxlen(): assert slugify('foo bar', maxlen=5) == 'foo-b'
def test_slugify(input, output): assert slugify(input) == output
def locator(self): return dict(self.menu_entry.event.locator, page_id=self.id, slug=slugify(self.menu_entry.title))