示例#1
0
 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
示例#6
0
 def locator(self):
     return dict(self.menu_entry.event.locator,
                 page_id=self.id,
                 slug=slugify(self.menu_entry.title))