All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.recipegrace.wikispa.mediawiki.MediaWikiAccess.scala Maven / Gradle / Ivy

The newest version!
package com.recipegrace.wikispa.mediawiki

import scalaj.http.Http
import scala.xml.{XML, Elem}
import scalaj.http.HttpOptions
trait MediaWikiAccess {

  private val params = Map(
    "format" -> "xml",
    "action" -> "query",
    "prop" -> "revisions",
    "rvprop" -> "content")
  private def toMediaWiki(webXML: Elem) = {
    val rev = webXML \\ "rev"

    val wikiText = if(rev.isEmpty) else  rev(0)
    
      
        ""
        0
        0
        
          0
          0
          
          
          
            { wikiText.text }
          
        
      
    
  } 
  def wikiTitleSearch(query: String) = {

    val finalParams = params + ("titles" -> query)
    val request = Http("https://en.wikipedia.org/w/api.php")
      .params(finalParams)
      .charset("ISO-8859-1")
      .options(HttpOptions.connTimeout(5000), HttpOptions.readTimeout(5000))
    val textData = request.asString
    val xmlData = XML.loadString(textData.body)
    toMediaWiki(xmlData)
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy