Skip to content

Search  #228

@cfra

Description

@cfra

Code Version

1.1.5

Expected Behavior

Looking at thiss-js example configs, it seems like pyFF should provide a search functionality at the following url:
http://pyff/api/search?q=needle.

Current Behavior

Instead, a 500 error is generated instead:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/cherrypy/_cprequest.py", line 638, in respond
    self._do_respond(path_info)
  File "/usr/local/lib/python3.9/dist-packages/cherrypy/_cprequest.py", line 697, in _do_respond
    response.body = self.handler()
  File "/usr/local/lib/python3.9/dist-packages/cherrypy/lib/encoding.py", line 223, in __call__
    self.body = self.oldhandler(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/cherrypy/_cpdispatch.py", line 54, in __call__
    return self.callable(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pyff/mdx.py", line 388, in default
    return self.server.request(**kwargs)
  File "/usr/local/lib/python3.9/dist-packages/pyff/mdx.py", line 598, in request
    r = p.process(self.md, state=state)
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 302, in process
    return Plumbing.Request(self, md,
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 253, in process
    return pl.iprocess(self)
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 281, in iprocess
    raise ex
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 271, in iprocess
    ot = pipefn(req, *opts)
  File "/usr/local/lib/python3.9/dist-packages/pyff/builtins.py", line 356, in when
    return Plumbing(pipeline=req.args, pid="%s.when" % req.plumbing.id).iprocess(req)
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 281, in iprocess
    raise ex
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 271, in iprocess
    ot = pipefn(req, *opts)
  File "/usr/local/lib/python3.9/dist-packages/pyff/builtins.py", line 324, in _pipe
    ot = Plumbing(pipeline=req.args, pid="%s.pipe" % req.plumbing.id).iprocess(req)
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 281, in iprocess
    raise ex
  File "/usr/local/lib/python3.9/dist-packages/pyff/pipes.py", line 271, in iprocess
    ot = pipefn(req, *opts)
  File "/usr/local/lib/python3.9/dist-packages/pyff/builtins.py", line 355, in when
    if c is not None and (not values or _any(values, c)):
  File "/usr/local/lib/python3.9/dist-packages/pyff/builtins.py", line 250, in _any
    if x in d:
  File "/usr/local/lib/python3.9/dist-packages/pyff/mdx.py", line 432, in __getitem__
    return cptools.accept(item, debug=True)
  File "/usr/local/lib/python3.9/dist-packages/cherrypy/lib/cptools.py", line 570, in accept
    if element.value in media:
TypeError: argument of type 'int' is not iterable

Steps to Reproduce

Not sure what information I can provide. I am using the following pipeline configuration, maybe I made a mistake there:

- when update:
    - load:
        - "http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-test-metadata.xml dfn-aai.pem"
        - "http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-basic-metadata.xml dfn-aai.pem"
        - "http://www.aai.dfn.de/fileadmin/metadata/dfn-aai-edugain+idp-metadata.xml dfn-aai.pem"
    - break
- when request:
    - select
    - pipe:
        - when accept application/xml:
             - xslt:
                 stylesheet: tidy.xsl
             - first
             - finalize:
                cacheDuration: PT10D
                validUntil: PT5H
             - sign:
                 key: default.key
                 cert: default.crt
             - emit application/xml
             - break
        - when accept application/json:
             - xslt:
                 stylesheet: discojson.xsl
             - emit application/json:
             - break

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions