Skip to content

Finalize the pygmt.which wrapper #3003

Open
@seisman

Description

@seisman

Upstream documentation: http://docs.generic-mapping-tools.org/dev/gmtwhich.html
Upstream long option: https://github.com/GenericMappingTools/gmt/blob/master/src/longopt/gmtwhich_inc.h

The gmtwhich module is one of the simplest modules and has very few options:

-A: Only consider files that the user has permission to read [Default consider all files found].

I think this option is useful and should be implemented. GMT's long option name readable sound good.

-C: Instead of reporting the paths, print the confirmation Y if the file is found and N if it is not.

Currently, we raise FileNotFoundError exception if a file is not found. Sometimes, we may want to take specific actions if a file is not found, so this option is still useful. GMT's long option name is confirm and return Y/N. I think it makes little sense in Python. Instead, we can return the full path if found and None if not found? Or True/False?

-D: Instead of reporting the paths, print the directories that contains the files.

Useless. In Python, we can always use os.path.dirname or Path().parent instead.

-G[a|c|l|u]: download the file if it's a downloadable file

Already implemented but is not Pythonic. The single-letter argument (e.g., download="a") is not Pythonic. More Pythonic arguments are True, auto, cache, local, user. GMT uses user, cache, current, data instead. I feel my suggestions make more sense and we can ask for upstrem changes.

-V: verbose level.

Common option. Already implemented.

We also need to decide:

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionsNeed more discussion before taking further actions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions