web/views/sparql.py
branchstable
changeset 6841 f04df13fc851
parent 6582 8eb7883b4223
child 7166 dde161937d3e
equal deleted inserted replaced
6840:fe5162da6e70 6841:f04df13fc851
    50 
    50 
    51 class SparqlFormView(form.FormViewMixIn, StartupView):
    51 class SparqlFormView(form.FormViewMixIn, StartupView):
    52     __regid__ = 'sparql'
    52     __regid__ = 'sparql'
    53     def call(self):
    53     def call(self):
    54         form = self._cw.vreg['forms'].select('sparql', self._cw)
    54         form = self._cw.vreg['forms'].select('sparql', self._cw)
    55         self.w(form.render())
    55         form.render(w=self.w)
    56         sparql = self._cw.form.get('sparql')
    56         sparql = self._cw.form.get('sparql')
    57         vid = self._cw.form.get('resultvid', 'table')
    57         vid = self._cw.form.get('resultvid', 'table')
    58         if sparql:
    58         if sparql:
    59             try:
    59             try:
    60                 qinfo = Sparql2rqlTranslator(self._cw.vreg.schema).translate(sparql)
    60                 qinfo = Sparql2rqlTranslator(self._cw.vreg.schema).translate(sparql)
    65             except xy.UnsupportedVocabulary, exc:
    65             except xy.UnsupportedVocabulary, exc:
    66                 self.w(self._cw._('unknown vocabulary:') + u' ' + unicode(exc))
    66                 self.w(self._cw._('unknown vocabulary:') + u' ' + unicode(exc))
    67             else:
    67             else:
    68                 rql, args = qinfo.finalize()
    68                 rql, args = qinfo.finalize()
    69                 if vid == 'sparqlxml':
    69                 if vid == 'sparqlxml':
    70                     url = self._cw.build_url('view', rql=(rql,args), vid=vid)
    70                     url = self._cw.build_url('view', rql=rql % args, vid=vid)
    71                     raise Redirect(url)
    71                     raise Redirect(url)
    72                 rset = self._cw.execute(rql, args)
    72                 rset = self._cw.execute(rql, args)
    73                 self.wview(vid, rset, 'null')
    73                 self.wview(vid, rset, 'null')
    74 
    74 
    75 
    75