@@ -92,6 +92,24 @@ func main() {
9292 fields := reflect .TypeOf (vodTypeStruct )
9393 values := reflect .ValueOf (vodTypeStruct )
9494 go fillTable (fields , values )
95+ } else if event , ok := reference .(eventStruct ); ok {
96+ fields := reflect .TypeOf (event )
97+ values := reflect .ValueOf (event )
98+ go fillTable (fields , values )
99+ } else if season , ok := reference .(seasonStruct ); ok {
100+ fields := reflect .TypeOf (season )
101+ values := reflect .ValueOf (season )
102+ go fillTable (fields , values )
103+ } else if session , ok := reference .(sessionStreamsStruct ); ok {
104+ //TODO see if ChannelUrls can also be properly displayed
105+ fields := reflect .TypeOf (session .Objects [0 ])
106+ values := reflect .ValueOf (session .Objects [0 ])
107+ go fillTable (fields , values )
108+ } else if channel , ok := reference .(channelUrlsStruct ); ok {
109+ //TODO see if ChannelUrls can also be properly displayed
110+ fields := reflect .TypeOf (channel )
111+ values := reflect .ValueOf (channel )
112+ go fillTable (fields , values )
95113 } else if ep , ok := reference .(episodeStruct ); ok { //check if selected node is an episode
96114 //get name and value
97115 titles = append (titles , "Title" )
@@ -244,6 +262,7 @@ func main() {
244262}
245263
246264//takes struct reflect Types and values and draws them as a table
265+ //TODO recursively enter structs
247266func fillTable (titles reflect.Type , values reflect.Value ) {
248267 t := make ([]string , 1 )
249268 v := make ([][]string , 1 )
@@ -456,7 +475,7 @@ func getSessionNodes(event eventStruct) []*tview.TreeNode {
456475 sessionNode .SetText (session .Name + " - LIVE" )
457476 sessionNode .SetColor (tcell .ColorRed )
458477 }
459- sessionNode .SetReference (streams . Objects [ 0 ]. ChannelUrls )
478+ sessionNode .SetReference (streams )
460479 sessionNode .SetExpanded (false )
461480 sessions [n ] = sessionNode
462481
0 commit comments