Skip to content

downloadIsisData: User-passed arguments not being appended to rclone command #5929

@dpmayerUSGS

Description

@dpmayerUSGS

ISIS version(s) affected: >= 8.3.0

Description

The built-in help for downloadIsisData says

After positional args, accepts arbitrary rclone flags. Run "rclone help flags" to get a full list of rclone flags.

but the script does not appear to actually be passing these optional extra arguments to rclone. The create_rclone_arguments() function accepts a list of rclone keyword arguments, but then doesn't do anything with them, so the resulting rclone command will not include any arguments that a user may have passed on the command line.

How to reproduce

The easiest way to reproduce this is to pass a known invalid argument on the command line:
python downloadIsisData mro $ISISDATA --this-is-a-fake-rclone-option
The script will then proceed to execute a download of the MRO kernels to $ISISDATA. What should happen is that rclone will exit with an error and print NOTICE: Fatal error: unknown flag: --this-is-a-fake-rclone-option because it has been given an invalid argument. The reason the script doesn't error out is because the invalid option that the user passed is never appended to the rclone arguments.

Possible Solution

Insert extra_args.extend(rclone_kwargs) after Line 171 inside the create_rclone_arguments() function.

Additional context

Bug discovered while helping an outside user debug #5887

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions