feat: updated and improved DataGrabber methods
Signed-off-by: moonleay <contact@moonleay.net>
This commit is contained in:
parent
97d4143cda
commit
39917e4b5a
1 changed files with 16 additions and 5 deletions
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* lilJudd
|
* lilJudd
|
||||||
* Copyright (C) 2023 moonleay
|
* Copyright (C) 2024 moonleay
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -20,11 +20,12 @@ package net.moonleay.lilJudd.data.api.splatoon3ink
|
||||||
|
|
||||||
import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.BankaraNode
|
import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.BankaraNode
|
||||||
import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.RegularNode
|
import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.RegularNode
|
||||||
|
import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.SalmonRunNode
|
||||||
import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.XNode
|
import net.moonleay.lilJudd.data.api.splatoon3ink.schedules.XNode
|
||||||
import net.moonleay.lilJudd.util.TimeUtil
|
import net.moonleay.lilJudd.util.TimeUtil
|
||||||
|
|
||||||
object Splatoon3ApiDataGrabber {
|
object Splatoon3ApiDataGrabber {
|
||||||
private fun getRegularMode(timestamp: Long): RegularNode {
|
fun getRegularMode(timestamp: Long): RegularNode {
|
||||||
Splatoon3Api.schedules!!.data.regularSchedules.nodes.map { modeData ->
|
Splatoon3Api.schedules!!.data.regularSchedules.nodes.map { modeData ->
|
||||||
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
||||||
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
||||||
|
@ -35,7 +36,7 @@ object Splatoon3ApiDataGrabber {
|
||||||
throw Exception("No current mode found")
|
throw Exception("No current mode found")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getOpenMode(timestamp: Long): BankaraNode {
|
fun getOpenMode(timestamp: Long): BankaraNode {
|
||||||
Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData ->
|
Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData ->
|
||||||
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
||||||
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
||||||
|
@ -49,7 +50,7 @@ object Splatoon3ApiDataGrabber {
|
||||||
throw Exception("No current mode found")
|
throw Exception("No current mode found")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getXMode(timestamp: Long): XNode {
|
fun getXMode(timestamp: Long): XNode {
|
||||||
Splatoon3Api.schedules!!.data.xSchedules.nodes.map { modeData ->
|
Splatoon3Api.schedules!!.data.xSchedules.nodes.map { modeData ->
|
||||||
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
||||||
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
||||||
|
@ -60,7 +61,7 @@ object Splatoon3ApiDataGrabber {
|
||||||
throw Exception("No current mode found")
|
throw Exception("No current mode found")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getSeriesMode(timestamp: Long): BankaraNode {
|
fun getSeriesMode(timestamp: Long): BankaraNode {
|
||||||
Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData ->
|
Splatoon3Api.schedules!!.data.bankaraSchedules.nodes.map { modeData ->
|
||||||
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
||||||
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
||||||
|
@ -74,6 +75,16 @@ object Splatoon3ApiDataGrabber {
|
||||||
throw Exception("No current mode found")
|
throw Exception("No current mode found")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getSalmonRun(timestamp: Long): SalmonRunNode {
|
||||||
|
Splatoon3Api.schedules!!.data.coopGroupingSchedule.regularSchedules.nodes.map { modeData ->
|
||||||
|
val startTime = TimeUtil.deformatJSONTime(modeData.startTime, "UTC")
|
||||||
|
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
||||||
|
if (timestamp in startTime..endTime) {
|
||||||
|
return modeData
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw Exception("No current mode found")
|
||||||
|
}
|
||||||
fun getRotationTime(timestamp: Long): String {
|
fun getRotationTime(timestamp: Long): String {
|
||||||
val modeData = getRegularMode(timestamp)
|
val modeData = getRegularMode(timestamp)
|
||||||
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
val endTime = TimeUtil.deformatJSONTime(modeData.endTime, "UTC")
|
||||||
|
|
Loading…
Reference in a new issue