Skip to content
Snippets Groups Projects
Commit 4b4f1df9 authored by Brian Moe's avatar Brian Moe
Browse files

Query error a little more visible and less fugly.

parent 939e717d
No related branches found
No related tags found
No related merge requests found
from django import forms from django import forms
from django.utils.safestring import mark_safe
from django.utils.html import escape
from models import Event, User, Group, Label from models import Event, User, Group, Label
from query import parseQuery, ParseException from query import parseQuery, ParseException
htmlEntityStar = "★"
htmlEntityRightPointingHand = "☞"
htmlEntitySkullAndCrossbones = "☠"
htmlEntityTriangularBuller = "‣"
htmlEntityRightArrow = "→"
errorMarker = '<span style="color:red;">'+htmlEntityStar+'</span>'
class GraceQueryField(forms.CharField): class GraceQueryField(forms.CharField):
def clean(self, queryString): def clean(self, queryString):
from django.db.models import Q from django.db.models import Q
...@@ -11,7 +21,8 @@ class GraceQueryField(forms.CharField): ...@@ -11,7 +21,8 @@ class GraceQueryField(forms.CharField):
try: try:
return parseQuery(queryString) return parseQuery(queryString)
except ParseException, e: except ParseException, e:
raise forms.ValidationError("Error near (*): "+ e.markInputline("(*)")) err = "Error: " + escape(e.pstr[:e.loc]) + errorMarker + escape(e.pstr[e.loc:])
raise forms.ValidationError(mark_safe(err))
except Exception, e: except Exception, e:
# What could this be and how can we handle it better? XXX # What could this be and how can we handle it better? XXX
raise forms.ValidationError(str(e)) raise forms.ValidationError(str(e))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment