This is the central issue to track the implementation of the pygmt.which method.
GMT options
Checked: Implemented; Unchecked: To be implemented/discussed; Strikethrough: Won't implement.
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.
We also need to decide:
This is the central issue to track the implementation of the
pygmt.whichmethod.GMT options
Checked: Implemented; Unchecked: To be implemented/discussed; Strikethrough: Won't implement.
<files>-A-C-D-G[a|c|l|u]:download. Long-form names areauto/cache/local/user. pygmt.which: Support long-form arguments for the 'download' parameter #4429-V:verbose: Use--PAR=<value>pygmt.configThe
gmtwhichmodule is one of the simplest modules and has very few options:I think this option is useful and should be implemented. GMT's long option name
readablesound good.Currently, we raise
FileNotFoundErrorexception 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 isconfirmand returnY/N. I think it makes little sense in Python. Instead, we can return the full path if found andNoneif not found? OrTrue/False?Useless. In Python, we can always use
os.path.dirnameorPath().parentinstead.Already implemented but is not Pythonic. The single-letter argument (e.g.,
download="a") is not Pythonic. More Pythonic arguments areTrue,auto,cache,local,user. GMT usesuser,cache,current,datainstead. I feel my suggestions make more sense and we can ask for upstrem changes.We also need to decide: