@@ -916,11 +916,6 @@ class Events {
916916 return this . query ( ) . then ( this . set . bind ( this ) ) ;
917917 }
918918
919- static rowField ( row , index , key ) {
920- if ( Array . isArray ( row ) ) return row [ index ] ;
921- return row [ key ] ?? row [ index ] ;
922- }
923-
924919 async query ( ) {
925920 console . log ( 'Fetching events from' , Events . API ) ;
926921 console . log ( 'Loading venues from' , Events . VENUES_URL ) ;
@@ -946,51 +941,46 @@ class Events {
946941 } ) ;
947942 const events = [ ] ;
948943 const unmatchedVenues = new Set ( ) ;
949- const field = ( row , index ) => Events . rowField ( row , index , [ 'date' , 'title' , 'genres' , 'venue' , 'time' , 'cost' , 'age' , 'promoter' , 'url1' , 'url2' ] [ index ] ) ;
950944 items . forEach ( ( row , index ) => {
951- if ( ! field ( row , 1 ) || ! field ( row , 3 ) ) {
945+ if ( ! row . title || ! row . venue ) {
952946 console . warn ( `Row ${ index } has insufficient fields:` , row ) ;
953947 return ;
954948 }
955- const rawVenue = field ( row , 3 ) ;
956- const venueData = venueMap . get ( Events . normalizeVenueName ( rawVenue ) ) ;
949+ const venueData = venueMap . get ( Events . normalizeVenueName ( row . venue ) ) ;
957950 if ( ! venueData ) {
958- unmatchedVenues . add ( rawVenue ) ;
951+ unmatchedVenues . add ( row . venue ) ;
959952 return ;
960953 }
961- const parsedDate = Events . parseCSVDate ( field ( row , 0 ) ) ;
954+ const parsedDate = Events . parseCSVDate ( row . date ) ;
962955 if ( ! parsedDate ) {
963- console . warn ( `Could not parse date: ${ field ( row , 0 ) } ` ) ;
956+ console . warn ( `Could not parse date: ${ row . date } ` ) ;
964957 return ;
965958 }
966- const extractedArtists = Events . extractArtistsFromTitle ( field ( row , 1 ) ) || 'TBA' ;
967- const genres = field ( row , 2 ) ;
968- const genresList = genres ? genres . split ( ',' ) . map ( g => Events . normalizeCategory ( g ) ) . filter ( c => c ) : [ ] ;
969- const url1 = field ( row , 8 ) ;
970- const url2 = field ( row , 9 ) ;
971- const eventUrl = url1 || url2 || '#' ;
959+ const extractedArtists = Events . extractArtistsFromTitle ( row . title ) || 'TBA' ;
960+ const genresList = row . tags ? row . tags . split ( ',' ) . map ( genre => Events . normalizeCategory ( genre ) ) . filter ( category => category ) : [ ] ;
961+ const eventUrl = row . url1 || row . url2 || '#' ;
972962 events . push ( {
973- title : field ( row , 1 ) ,
963+ title : row . title ,
974964 venue : venueData . name ,
975965 geometry : venueData . geometry ,
976966 date : parsedDate . iso ,
977967 date_text : parsedDate . text ,
978- time : field ( row , 4 ) ,
979- cost : field ( row , 5 ) ,
980- cost_details : field ( row , 6 ) ,
968+ time : row . time ,
969+ cost : row . price ,
970+ cost_details : row . age ,
981971 extractedArtists,
982972 categories : genresList ,
983973 url : eventUrl ,
984974 eventUrl,
985- promoter : field ( row , 7 ) || '' ,
975+ promoter : row . organizers || '' ,
986976 details : `
987977 <p><strong>Genres:</strong> ${ genresList . length ? genresList . join ( ', ' ) : 'N/A' } </p>
988978 <p><strong>Artists:</strong> ${ extractedArtists } </p>
989- ${ field ( row , 7 ) ? `<p><strong>Promoter:</strong> ${ field ( row , 7 ) } </p>` : '' }
990- <p><strong>Age:</strong> ${ field ( row , 6 ) } </p>
991- <p><strong>Cost:</strong> ${ field ( row , 5 ) } </p>
992- ${ url1 ? `<p><a href="${ url1 } " target="_blank">Event Link</a></p>` : '' }
993- ${ url2 ? `<p><a href="${ url2 } " target="_blank">Additional Link</a></p>` : '' }
979+ ${ row . organizers ? `<p><strong>Promoter:</strong> ${ row . organizers } </p>` : '' }
980+ <p><strong>Age:</strong> ${ row . age } </p>
981+ <p><strong>Cost:</strong> ${ row . price } </p>
982+ ${ row . url1 ? `<p><a href="${ row . url1 } " target="_blank">Event Link</a></p>` : '' }
983+ ${ row . url2 ? `<p><a href="${ row . url2 } " target="_blank">Additional Link</a></p>` : '' }
994984 `
995985 } ) ;
996986 } ) ;
0 commit comments