def url_surt(request, slug, surt): # Add back the slash lost by Apache removing null path segments. surt = fix_http_double_slash(surt) # Get the project by the project slug. project = get_project(slug) # Create the SURT dictionary containing url_list and single_letter. surt_dict = create_surt_dict(project, surt) # Create the alphabetical browse dictionary. browse_dict = alphabetical_browse(project) # Add Browse by if browsing surts by letter. top_domain_search = re.compile(r'^http://\(([^,]+),?').search(surt, 0) if top_domain_search: top_domain = top_domain_search.group(1) else: top_domain = None return render_to_response( 'nomination/url_surt.html', { 'surt': surt, 'project': project, 'url_list': surt_dict['url_list'], 'letter': surt_dict['letter'], 'browse_domain': top_domain, 'browse_dict': browse_dict, }, RequestContext(request, {}), )
def test_returns_expected(self, surt_root, expected_letter): project = factories.ProjectFactory() surts = [ surt_root + '/some/stuff', surt_root + '/other/stuff', surt_root + '/nothing', surt_root ] urls = [factories.SURTFactory(url_project=project, value=surt) for surt in surts] surt_dict = url_handler.create_surt_dict(project, surt_root) assert len(surt_dict['url_list']) == len(surts) for url in surt_dict['url_list']: assert url in urls assert surt_dict['letter'] == expected_letter
def test_returns_none_when_no_surts_found(self): surt_dict = url_handler.create_surt_dict('', 'http://(com,example,)') assert surt_dict['url_list'] is None