<commit_before>package services

import javax.inject.{Inject, Singleton}

import model.Programme
import play.api.Logger

import scala.concurrent.{ExecutionContext, Future}

/**
  * Service to handle programme listings.
  */
trait ProgrammeService {

  def getListing()(implicit ec: ExecutionContext): Future[Seq[Programme]]
}

@Singleton
class ProgrammeServiceImpl @Inject() extends ProgrammeService {

  /** The logger to use. */
  val logger: Logger = Logger(this.getClass())

  /**
    * Get a programme listing.
    * @param ec   The implicit execution context
    * @return A sequence of programmes
    */
  def getListing()(implicit ec: ExecutionContext): Future[Seq[Programme]] = {
    Logger.debug("In programmeService.getListing...")
    Future { Seq() }
  }
}<commit_msg>Added Guice binding and some dummy data.<commit_after>package services

import javax.inject.{Inject, Singleton}

import com.google.inject.ImplementedBy
import model.Programme
import play.api.Logger

import scala.concurrent.{ExecutionContext, Future}

/**
  * Service to handle programme listings.
  */
@ImplementedBy(classOf[ProgrammeServiceImpl])
trait ProgrammeService {

  def getListing()(implicit ec: ExecutionContext): Future[Seq[Programme]]
}

@Singleton
class ProgrammeServiceImpl @Inject() extends ProgrammeService {

  /** The logger to use. */
  val logger: Logger = Logger(this.getClass())

  /**
    * Get a programme listing.
    * @param ec   The implicit execution context
    * @return A sequence of programmes
    */
  def getListing()(implicit ec: ExecutionContext): Future[Seq[Programme]] = {
    Logger.debug("In programmeService.getListing...")
    Future { Seq(
      Programme("Dummy Programme #1"),
      Programme("Dummy Programme #2"),
      Programme("Dummy Programme #3"),
      Programme("Dummy Programme #4")
    ) }
  }
}
{'fraction_non_alphanumeric': 0.11668484187568157, 'fraction_numerical': 0.0021810250817884407, 'mean_word_length': 4.083102493074792, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6031318', 'n_tokens_mistral': 542, 'n_tokens_neox': 530, 'n_words': 145}