11
11
getindex (var:: AbstractDataContainer , s:: String ) = SpeasyVariable (var. py[s])
12
12
getindex (var:: AbstractDataContainer , s:: Symbol ) = getindex (var, string (s))
13
13
14
- name (var) = pyconvert (String, var. py. name)
14
+ isnone (var:: AbstractDataContainer ) = pyisnone (var. py)
15
+ Base. ismissing (var:: AbstractDataContainer ) = pyisnone (var. py)
16
+
17
+ function name (var)
18
+ isnone (var) && return nothing
19
+ pyconvert (String, var. py. name)
20
+ end
15
21
values (var) = pyconvert (Array, var. py. values)
16
22
shape (var) = pyconvert (Tuple, var. py. shape)
17
23
nbytes (var) = pyconvert (Int64, var. py. nbytes)
@@ -21,6 +27,7 @@ axes(var) = [axes(var, i) for i in 1:pylen(var.py.axes)]
21
27
columns (var) = pyconvert (Vector{Symbol}, var. py. columns)
22
28
meta (var) = pyconvert (Dict, var. py. meta)
23
29
function units (var)
30
+ isnone (var) && return " "
24
31
u = var. py. unit
25
32
pyisnone (u) ? " " : pyconvert (String, u)
26
33
end
59
66
60
67
propertynames (var:: VariableAxis ) = union (fieldnames (VariableAxis), ax_properties)
61
68
62
- # Add Base.show methods for pretty printing
63
69
function Base. show (io:: IO , var:: T ) where {T<: AbstractDataContainer }
70
+ ismissing (var) && return
71
+ println (io, " $T (" )
72
+ print (io, " Name: " , name (var))
73
+ pyhasattr (var. py, " time" ) && println (io, " Time Range: " , time (var)[1 ], " to " , time (var)[end ])
74
+ print (io, " Units: " , var. py. unit)
75
+ print (io, " Shape: " , var. py. shape)
76
+ print (io, " Values: " )
77
+ print (io, var. py. values)
78
+ println (io, " )" )
79
+ end
80
+
81
+ # Add Base.show methods for pretty printing
82
+ function Base. show (io:: IO , m:: MIME"text/plain" , var:: T ) where {T<: AbstractDataContainer }
83
+ ismissing (var) && return
64
84
println (io, " $T :" )
65
85
println (io, " Name: " , name (var))
66
86
pyhasattr (var. py, " time" ) && println (io, " Time Range: " , time (var)[1 ], " to " , time (var)[end ])
0 commit comments