def analyse_tags(request, tag_str): try: tags = Tag.get_tag_list(tag_str) except Tag.DoesNotExist: # Perhaps the user is asking about an author in Public Domain # counter (they are not represented in tags) chunks = tag_str.split('/') if len(chunks) == 2 and chunks[0] == 'autor': raise ResponseInstead(pdcounter_views.author_detail(request, chunks[1])) else: raise Http404 except Tag.MultipleObjectsReturned as e: # Ask the user to disambiguate raise ResponseInstead(differentiate_tags(request, e.tags, e.ambiguous_slugs)) except Tag.UrlDeprecationWarning as e: raise ResponseInstead(HttpResponsePermanentRedirect( reverse('tagged_object_list', args=['/'.join(tag.url_chunk for tag in e.tags)]))) try: if len(tags) > settings.MAX_TAG_LIST: raise Http404 except AttributeError: pass return tags
def tagged_object_list(request, tags=''): try: tags = models.Tag.get_tag_list(tags) except models.Tag.DoesNotExist: chunks = tags.split('/') if len(chunks) == 2 and chunks[0] == 'autor': return pdcounter_views.author_detail(request, chunks[1]) else: raise Http404 except models.Tag.MultipleObjectsReturned, e: return differentiate_tags(request, e.tags, e.ambiguous_slugs)
def analyse_tags(request, tag_str): try: tags = Tag.get_tag_list(tag_str) except Tag.DoesNotExist: # Perhaps the user is asking about an author in Public Domain # counter (they are not represented in tags) chunks = tag_str.split('/') if len(chunks) == 2 and chunks[0] == 'autor': raise ResponseInstead(pdcounter_views.author_detail(request, chunks[1])) else: raise Http404 except Tag.MultipleObjectsReturned, e: # Ask the user to disambiguate raise ResponseInstead(differentiate_tags(request, e.tags, e.ambiguous_slugs))
def tagged_object_list(request, tags=''): # preliminary tests and conditions try: tags = models.Tag.get_tag_list(tags) except models.Tag.DoesNotExist: # Perhaps the user is asking about an author in Public Domain # counter (they are not represented in tags) chunks = tags.split('/') if len(chunks) == 2 and chunks[0] == 'autor': return pdcounter_views.author_detail(request, chunks[1]) else: raise Http404 except models.Tag.MultipleObjectsReturned, e: # Ask the user to disambiguate return differentiate_tags(request, e.tags, e.ambiguous_slugs)
def analyse_tags(request, tag_str): try: tags = Tag.get_tag_list(tag_str) except Tag.DoesNotExist: # Perhaps the user is asking about an author in Public Domain # counter (they are not represented in tags) chunks = tag_str.split('/') if len(chunks) == 2 and chunks[0] == 'autor': raise ResponseInstead( pdcounter_views.author_detail(request, chunks[1])) else: raise Http404 except Tag.MultipleObjectsReturned, e: # Ask the user to disambiguate raise ResponseInstead( differentiate_tags(request, e.tags, e.ambiguous_slugs))