Exemple #1
0
    def POST(self, name, ext):
        if not corpora.has_key(name):
            yield web.notfound()
            return

        try:
            c = corpora[name]['reader']

            params = web.input()
            offset = int(params.get('start', '0'))

            # Do we want to highlight something?
            if params.has_key('markerQuery') and params.has_key('markerAttr') and params.has_key('markerValue'):
                markerQueries = [alpinocorpus.MarkerQuery(params['markerQuery'].encode('utf-8'),
                    params['markerAttr'], params['markerValue'])]
            else:
                markerQueries = []

            # Was a query provided?
            if params.has_key('query'):
                gen = c.queryWithStylesheet(params['query'].encode('utf-8'), web.data(), markerQueries, _timeout)
            else:
                gen = c.entriesWithStylesheet(web.data(), markerQueries, _timeout)

            for i in self.run(gen, ext, True, offset):
                yield i

        except:
            print sys.exc_info()
            yield web.internalerror()
Exemple #2
0
    def GET(self, name, ext):
        if not corpora.has_key(name):
            yield web.notfound()
            return

        try:
            c = corpora[name]['reader']

            params = web.input()
            offset = int(params.get('start', '0'))

            # Was a query provided?
            contents = False
            if params.has_key('query'):
                gen = c.query(params['query'].encode('utf-8'), _timeout)
                if params.get('contents', '') == '1':
                    contents = True
            else:
                gen = c.entries()

            for i in self.run(gen, ext, contents, offset):
                yield i

        except:
            print sys.exc_info()
            yield web.internalerror()
Exemple #3
0
    def GET(self, name):
        web.header('Content-Type', 'text/plain')

        if not corpora.has_key(name):
            return web.notfound()

        params = web.input()
        try:
            c = corpora[name]['reader']

            # Was there a request to mark entries?
            if params.has_key('query'):
                query = params.get('query').encode('utf-8')
                if c.validQuery(query):
                    return '1\n'
                else:
                    return '0\n'
            else:
                return web.notfound()

        except RuntimeError:
            return web.notfound()
Exemple #4
0
    def GET(self, name, entry):
        web.header('Content-Type', 'text/xml')

        if not corpora.has_key(name):
            return web.notfound()

        params = web.input()
        try:
            c = corpora[name]['reader']

            # Was there a request to mark entries?
            if params.has_key('markerQuery') and params.has_key('markerAttr') and params.has_key('markerValue'):
                queries = [alpinocorpus.MarkerQuery(params['markerQuery'].encode('utf-8'),
                    params['markerAttr'], params['markerValue'])]
                data = c.readMarkQueries(entry, queries)
            else:
                data = c.read(entry)

        except RuntimeError:
            return web.notfound()

        return data