Skip to content

ComplexOutput data as reference always generates a file named "input.csv", should be "output". #674

Description

@ashleysommer

Description

When returning a ComplexOutput as Reference (output as_reference is True), the filename generated by the server (and used in the built URL) is always "input", eg "input.csv" for a "txt/csv" output, or "input.xml" for an "application/xml" output. This is misleading to users as this is actually the Output file.

After some digging through the sourcecode, I found where that name is set:

pywps/pywps/inout/basic.py

Lines 271 to 276 in d0bb978

def _build_file_name(self, href=''):
"""Return a file name for the local system."""
url_path = urlparse(href).path or ''
file_name = os.path.basename(url_path).strip() or 'input'
(prefix, suffix) = os.path.splitext(file_name)
suffix = suffix or self.extension

It appears there is no way to set this name on the ComlexOutput object, or on the FileStorage object or on the DataHandler object.

Environment

  • operating system: Ubuntu 22.04
  • Python version: 3.8
  • PyWPS version: 4.5.2
  • source/distribution
  • git clone
  • Debian
  • PyPI
  • zip/tar.gz
  • other (please specify):

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