![JAR search and dependency download from the Maven repository](/logo.png)
ru.sadv1r.vk.parser.PhotoParser.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vk-parser Show documentation
Show all versions of vk-parser Show documentation
vk.com API implementation
The newest version!
package ru.sadv1r.vk.parser
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue
import org.slf4j.LoggerFactory
import ru.sadv1r.vk.parser.model.Album
import ru.sadv1r.vk.parser.model.Photo
/**
* Парсер фотографий и альбомов Вконтакте
*
* Created on 4/3/16.
*
* @author sadv1r
* @version 0.1
*/
class PhotoParser: Parser() {
private val logger = LoggerFactory.getLogger(PhotoParser::class.java)
/**
* Получает альбомы пользователя
*
* @param vkId id пользователя Вконтакте
* @return {@code List} альбомов пользователя
*/
fun getAlbums(vkId: Int): List {
val methodName = "photos.getAlbums"
val responseTree = getResponseTree(methodName, "&owner_id=$vkId")
return getAlbums(responseTree)
}
/**
* @param jsonNode
* {@code JsonNode} с деревом ответа метода Вконтакте {@code photo.getAlbums}
* @return {@code List} альбомов пользователя
*/
private fun getAlbums(jsonNode: JsonNode): List {
val result: List = jacksonObjectMapper()
.readValue(jsonNode.get("response").get("items").toString())
var temp = ""; result.forEach { temp += "${it.id} " }
logger.trace("Полученные альбомы: $temp")
return result
}
/**
* Получает фотографии пользователя
*
* @param vkId id пользователя Вконтакте
* @param albumId id альбома пользователя Вконтакте
* @return {@code List} фотографий пользователя
*/
fun getPhotos(vkId: Int, albumId: Int): List {
val methodName = "photos.get"
val responseTree = getResponseTree(methodName, "&owner_id=$vkId&album_id=$albumId")
return getPhotos(responseTree)
}
/**
* @param jsonNode
* {@code JsonNode} с деревом ответа метода Вконтакте {@code photo.get}
* @return {@code List} фотографий пользователя
*/
private fun getPhotos(jsonNode: JsonNode): List {
val result: List = jacksonObjectMapper()
.readValue(jsonNode.get("response").get("items").toString())
var temp = ""; result.forEach { temp += "${it.id} " }
logger.trace("Полученные фотографии: $temp")
return result
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy