def update_topics(self, q): parser = qp.QueryParser(self.request) query = "select distinct uuid where (%s)" % q try: d = parser.runquery(self.db, query) except SmapException, e: return defer.fail(e)
def render_POST(self, request): parser = qp.QueryParser(request) query = "select distinct uuid where (%s)" % request.content.read() try: d = parser.runquery(self.db, query) except SmapException, e: setResponseCode(request, e, 400) return "query: %s\nerror: %s\n" % (query, str(e))
def render_POST(self, request, query=None): """The POST method is only used for sql-like queries. The logic for parsing the query, building the true SQL statement, and parsing out the results are in the queryparse and querygen modules. """ # make a parser and parse the request parser = qp.QueryParser(request) if not query: query = request.content.read() try: # run the query locally d = parser.runquery(self.db, query) except Exception, e: log.err("Failing query: " + str(query)) log.err() setResponseCode(request, e, 400) return str(e)