|
19 | 19 | from pygmt.exceptions import GMTInvalidInput
|
20 | 20 |
|
21 | 21 |
|
22 |
| -def _validate_data_input( |
| 22 | +def validate_data_input( |
23 | 23 | data=None, x=None, y=None, z=None, required_z=False, required_data=True, kind=None
|
24 | 24 | ):
|
25 | 25 | """
|
26 | 26 | Check if the combination of data/x/y/z is valid.
|
27 | 27 |
|
28 | 28 | Examples
|
29 | 29 | --------
|
30 |
| - >>> _validate_data_input(data="infile") |
31 |
| - >>> _validate_data_input(x=[1, 2, 3], y=[4, 5, 6]) |
32 |
| - >>> _validate_data_input(x=[1, 2, 3], y=[4, 5, 6], z=[7, 8, 9]) |
33 |
| - >>> _validate_data_input(data=None, required_data=False) |
34 |
| - >>> _validate_data_input() |
| 30 | + >>> validate_data_input(data="infile") |
| 31 | + >>> validate_data_input(x=[1, 2, 3], y=[4, 5, 6]) |
| 32 | + >>> validate_data_input(x=[1, 2, 3], y=[4, 5, 6], z=[7, 8, 9]) |
| 33 | + >>> validate_data_input(data=None, required_data=False) |
| 34 | + >>> validate_data_input() |
35 | 35 | Traceback (most recent call last):
|
36 | 36 | ...
|
37 | 37 | pygmt.exceptions.GMTInvalidInput: No input data provided.
|
38 |
| - >>> _validate_data_input(x=[1, 2, 3]) |
| 38 | + >>> validate_data_input(x=[1, 2, 3]) |
39 | 39 | Traceback (most recent call last):
|
40 | 40 | ...
|
41 | 41 | pygmt.exceptions.GMTInvalidInput: Must provide both x and y.
|
42 |
| - >>> _validate_data_input(y=[4, 5, 6]) |
| 42 | + >>> validate_data_input(y=[4, 5, 6]) |
43 | 43 | Traceback (most recent call last):
|
44 | 44 | ...
|
45 | 45 | pygmt.exceptions.GMTInvalidInput: Must provide both x and y.
|
46 |
| - >>> _validate_data_input(x=[1, 2, 3], y=[4, 5, 6], required_z=True) |
| 46 | + >>> validate_data_input(x=[1, 2, 3], y=[4, 5, 6], required_z=True) |
47 | 47 | Traceback (most recent call last):
|
48 | 48 | ...
|
49 | 49 | pygmt.exceptions.GMTInvalidInput: Must provide x, y, and z.
|
50 | 50 | >>> import numpy as np
|
51 | 51 | >>> import pandas as pd
|
52 | 52 | >>> import xarray as xr
|
53 | 53 | >>> data = np.arange(8).reshape((4, 2))
|
54 |
| - >>> _validate_data_input(data=data, required_z=True, kind="matrix") |
| 54 | + >>> validate_data_input(data=data, required_z=True, kind="matrix") |
55 | 55 | Traceback (most recent call last):
|
56 | 56 | ...
|
57 | 57 | pygmt.exceptions.GMTInvalidInput: data must provide x, y, and z columns.
|
58 |
| - >>> _validate_data_input( |
| 58 | + >>> validate_data_input( |
59 | 59 | ... data=pd.DataFrame(data, columns=["x", "y"]),
|
60 | 60 | ... required_z=True,
|
61 | 61 | ... kind="matrix",
|
62 | 62 | ... )
|
63 | 63 | Traceback (most recent call last):
|
64 | 64 | ...
|
65 | 65 | pygmt.exceptions.GMTInvalidInput: data must provide x, y, and z columns.
|
66 |
| - >>> _validate_data_input( |
| 66 | + >>> validate_data_input( |
67 | 67 | ... data=xr.Dataset(pd.DataFrame(data, columns=["x", "y"])),
|
68 | 68 | ... required_z=True,
|
69 | 69 | ... kind="matrix",
|
70 | 70 | ... )
|
71 | 71 | Traceback (most recent call last):
|
72 | 72 | ...
|
73 | 73 | pygmt.exceptions.GMTInvalidInput: data must provide x, y, and z columns.
|
74 |
| - >>> _validate_data_input(data="infile", x=[1, 2, 3]) |
| 74 | + >>> validate_data_input(data="infile", x=[1, 2, 3]) |
75 | 75 | Traceback (most recent call last):
|
76 | 76 | ...
|
77 | 77 | pygmt.exceptions.GMTInvalidInput: Too much data. Use either data or x/y/z.
|
78 |
| - >>> _validate_data_input(data="infile", y=[4, 5, 6]) |
| 78 | + >>> validate_data_input(data="infile", y=[4, 5, 6]) |
79 | 79 | Traceback (most recent call last):
|
80 | 80 | ...
|
81 | 81 | pygmt.exceptions.GMTInvalidInput: Too much data. Use either data or x/y/z.
|
82 |
| - >>> _validate_data_input(data="infile", z=[7, 8, 9]) |
| 82 | + >>> validate_data_input(data="infile", z=[7, 8, 9]) |
83 | 83 | Traceback (most recent call last):
|
84 | 84 | ...
|
85 | 85 | pygmt.exceptions.GMTInvalidInput: Too much data. Use either data or x/y/z.
|
@@ -193,15 +193,6 @@ def data_kind(data=None, x=None, y=None, z=None, required_z=False, required_data
|
193 | 193 | kind = "matrix"
|
194 | 194 | else:
|
195 | 195 | kind = "vectors"
|
196 |
| - _validate_data_input( |
197 |
| - data=data, |
198 |
| - x=x, |
199 |
| - y=y, |
200 |
| - z=z, |
201 |
| - required_z=required_z, |
202 |
| - required_data=required_data, |
203 |
| - kind=kind, |
204 |
| - ) |
205 | 196 | return kind
|
206 | 197 |
|
207 | 198 |
|
|
0 commit comments