package liigavoitto.journalist import liigavoitto.journalist.author.AuthorGenerator import liigavoitto.journalist.concepts.ConceptIdGenerator import liigavoitto.journalist.events.GameEventsGenerator import liigavoitto.journalist.stats.GameStatsTableGenerator import liigavoitto.journalist.text.TextGenerator import liigavoitto.journalist.title.TitleGenerator import liigavoitto.scores.{LeagueTableEntry, Match, PlayerStatsEntry} import liigavoitto.transform._ import liigavoitto.util.Logging import org.joda.time.DateTime case class MatchData( mtch: Match, seriesId: String, season: String, stage: String, allHomeTeamMatches: List[Match] = List(), allAwayTeamMatches: List[Match] = List(), leagueTable: List[LeagueTableEntry] = List(), playerStats: List[PlayerStatsEntry] = List() ) object LiigaJournalist extends Logging with ArticlesV2Transformer { def createArticle(data: MatchData, language: String): Option[ArticleV2] = { val mtch = data.mtch if (mtch.status == "finished") { val id = mtch.id val title = new TitleGenerator(data, language).generateTitle.get val gen = new TextGenerator(data, language) val events = new GameEventsGenerator(data, language).getEventContentBlocks val gameStats = new GameStatsTableGenerator(data, language).getTable val concepts = new ConceptIdGenerator(data.seriesId, data.mtch).getIds val properties = List("importance:low") val author = Some(AuthorGenerator.getAuthor) Some( getV2Article( Article( id, title, gen.lead, gen.body, DateTime.now, List(), List(), events, gameStats, concepts, author, None, None, language, "Yle Urheilu", "national", None, properties, gen.shortSummary) ) ) } else None } }