@@ -48,17 +48,17 @@ function Tables.getcolumn(f::SPEFile{Version3, T}, nm::Symbol) where {T}
48
48
repeat (col_num, n_frames)
49
49
elseif nm == :exposurestarted
50
50
size_one_frame = sum ([l for l in length .(first (f. frames))])
51
- if ismissing (f. frameexposurestarted)
51
+ if ismissing (f. metadata . frameexposurestarted)
52
52
repeat ([missing ], size_one_frame* length (f. frames))
53
53
else
54
- vcat ([repeat ([e], size_one_frame) for e in f. frameexposurestarted]. .. )
54
+ vcat ([repeat ([e], size_one_frame) for e in f. metadata . frameexposurestarted]. .. )
55
55
end
56
56
elseif nm == :exposureended
57
57
size_one_frame = sum ([l for l in length .(first (f. frames))])
58
- if ismissing (f. frameexposureended)
58
+ if ismissing (f. metadata . frameexposureended)
59
59
repeat ([missing ], size_one_frame* length (f. frames))
60
60
else
61
- vcat ([repeat ([e], size_one_frame) for e in f. frameexposureended]. .. )
61
+ vcat ([repeat ([e], size_one_frame) for e in f. metadata . frameexposureended]. .. )
62
62
end
63
63
else
64
64
throw (ArgumentError (" Column $nm does not exist for a SPEFile v3." ))
@@ -98,14 +98,10 @@ Tables.columnnames(::SPEFile{Version2, T}) where {T} = COLUMNS_V2
98
98
Tables. columnnames (:: SPEFile{Version3, T} ) where {T} = COLUMNS_V3
99
99
100
100
function Base. getproperty (f:: T , sym:: Symbol ) where {T<: SPEFile }
101
- try
101
+ if hasfield (T, sym)
102
+ getfield (f, sym)
103
+ else
102
104
Tables. getcolumn (f, sym)
103
- catch e
104
- if e isa ArgumentError
105
- getfield (f, sym)
106
- else
107
- rethrow (e)
108
- end
109
105
end
110
106
end
111
107
0 commit comments