+ tags_list = []
+ result = ""
+ for tag in _tags_starting_with(prefix, request.user):
+ if not tag.name in tags_list:
+ result += "\n" + tag.name
+ tags_list.append(tag.name)
+ return HttpResponse(result)
+
+def json_tags_starting_with(request, callback=None):
+ # Callback for JSONP
+ prefix = request.GET.get('q', '')
+ callback = request.GET.get('callback', '')
+ # Prefix must have at least 2 characters
+ if len(prefix) < 2:
+ return HttpResponse('')
+ tags_list = []
+ for tag in _tags_starting_with(prefix, request.user):
+ if not tag.name in tags_list:
+ tags_list.append(tag.name)
+ if request.GET.get('mozhint', ''):
+ result = [prefix, tags_list]
+ else:
+ result = {"matches": tags_list}
+ return JSONResponse(result, callback)