Move package "de.grimsi.gameyfin" to "org.gameyfin"

This commit is contained in:
grimsi
2025-06-14 19:23:12 +02:00
parent be0ba28c54
commit d3d46b6b01
328 changed files with 710 additions and 678 deletions
@@ -1,6 +1,6 @@
package de.grimsi.gameyfinplugins.directdownload
package org.gameyfin.plugins.download.direct
import de.grimsi.gameyfinplugins.directdownload.CompressionMode.*
import org.gameyfin.plugins.download.direct.CompressionMode.*
import java.util.zip.Deflater
enum class CompressionMode {
@@ -1,11 +1,11 @@
package de.grimsi.gameyfinplugins.directdownload
package org.gameyfin.plugins.download.direct
import de.grimsi.gameyfin.pluginapi.core.config.ConfigMetadata
import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigMetadata
import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import de.grimsi.gameyfin.pluginapi.download.Download
import de.grimsi.gameyfin.pluginapi.download.DownloadProvider
import de.grimsi.gameyfin.pluginapi.download.FileDownload
import org.gameyfin.pluginapi.core.config.ConfigMetadata
import org.gameyfin.pluginapi.core.config.PluginConfigMetadata
import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import org.gameyfin.pluginapi.download.Download
import org.gameyfin.pluginapi.download.DownloadProvider
import org.gameyfin.pluginapi.download.FileDownload
import org.pf4j.Extension
import org.pf4j.PluginWrapper
import java.io.IOException
@@ -1,6 +1,6 @@
Plugin-Version: 1.0.0-alpha5
Plugin-Class: de.grimsi.gameyfinplugins.directdownload.DirectDownloadPlugin
Plugin-Id: de.grimsi.gameyfin.directdownload
Plugin-Version: 1.0.0-beta1
Plugin-Class: org.gameyfin.plugins.download.direct.DirectDownloadPlugin
Plugin-Id: org.gameyfin.plugins.download.direct
Plugin-Name: Direct Download
Plugin-Description: Downloads games directly in the browser.<br>
If the game is contained in a folder, it will pack the folder into a zip file on the fly.
@@ -1,18 +1,18 @@
package de.grimsi.gameyfinplugins.igdb
package org.gameyfin.plugins.metadata.igdb
import com.api.igdb.apicalypse.APICalypse
import com.api.igdb.exceptions.RequestException
import com.api.igdb.request.IGDBWrapper
import com.api.igdb.request.TwitchAuthenticator
import com.api.igdb.request.games
import de.grimsi.gameyfin.pluginapi.core.config.ConfigMetadata
import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigError
import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigMetadata
import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult
import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadata
import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadataProvider
import me.xdrop.fuzzywuzzy.FuzzySearch
import org.gameyfin.pluginapi.core.config.ConfigMetadata
import org.gameyfin.pluginapi.core.config.PluginConfigError
import org.gameyfin.pluginapi.core.config.PluginConfigMetadata
import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult
import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import org.gameyfin.pluginapi.gamemetadata.GameMetadata
import org.gameyfin.pluginapi.gamemetadata.GameMetadataProvider
import org.pf4j.Extension
import org.pf4j.PluginWrapper
import org.slf4j.LoggerFactory
@@ -1,13 +1,17 @@
package de.grimsi.gameyfinplugins.igdb
package org.gameyfin.plugins.metadata.igdb
import com.api.igdb.utils.ImageSize
import com.api.igdb.utils.ImageType
import com.api.igdb.utils.imageBuilder
import de.grimsi.gameyfin.pluginapi.gamemetadata.GameFeature
import de.grimsi.gameyfin.pluginapi.gamemetadata.Genre
import de.grimsi.gameyfin.pluginapi.gamemetadata.PlayerPerspective
import de.grimsi.gameyfin.pluginapi.gamemetadata.Theme
import org.gameyfin.pluginapi.gamemetadata.GameFeature
import org.gameyfin.pluginapi.gamemetadata.Genre
import org.gameyfin.pluginapi.gamemetadata.PlayerPerspective
import org.gameyfin.pluginapi.gamemetadata.Theme
import org.slf4j.LoggerFactory
import proto.Cover
import proto.Game
import proto.GameVideo
import proto.Screenshot
import java.net.URI
class Mapper {
@@ -95,20 +99,20 @@ class Mapper {
}
}
fun screenshot(screenshot: proto.Screenshot): URI {
fun screenshot(screenshot: Screenshot): URI {
return URI(imageBuilder(screenshot.imageId, ImageSize.FHD, ImageType.PNG))
}
fun cover(cover: proto.Cover): URI? {
fun cover(cover: Cover): URI? {
if (cover.imageId.isEmpty()) return null
return URI(imageBuilder(cover.imageId, ImageSize.COVER_BIG, ImageType.PNG))
}
fun video(video: proto.GameVideo): URI {
fun video(video: GameVideo): URI {
return URI("https://www.youtube.com/watch?v=${video.videoId}")
}
fun gameFeatures(game: proto.Game): Set<GameFeature> {
fun gameFeatures(game: Game): Set<GameFeature> {
val gameFeatures = mutableSetOf<GameFeature>()
// Get LAN support from multiplayer modes
+3 -3
View File
@@ -1,6 +1,6 @@
Plugin-Version: 1.0.0-alpha9
Plugin-Class: de.grimsi.gameyfinplugins.igdb.IgdbPlugin
Plugin-Id: de.grimsi.gameyfin.igdb
Plugin-Version: 1.0.0-beta1
Plugin-Class: org.gameyfin.plugins.metadata.igdb.IgdbPlugin
Plugin-Id: org.gameyfin.plugins.metadata.igdb.
Plugin-Name: IGDB Metadata
Plugin-Description: Fetches metadata from IGDB.<br>
Requires a Twitch account and IGDB API credentials.<br>
@@ -1,12 +1,5 @@
package de.grimsi.gameyfinplugins.steam
package org.gameyfin.plugins.metadata.steam
import de.grimsi.gameyfin.pluginapi.core.wrapper.GameyfinPlugin
import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadata
import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadataProvider
import de.grimsi.gameyfinplugins.steam.dto.SteamDetailsResultWrapper
import de.grimsi.gameyfinplugins.steam.dto.SteamGame
import de.grimsi.gameyfinplugins.steam.dto.SteamSearchResult
import de.grimsi.gameyfinplugins.steam.mapper.Mapper
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.engine.cio.*
@@ -19,6 +12,13 @@ import io.ktor.serialization.kotlinx.json.*
import kotlinx.coroutines.runBlocking
import kotlinx.serialization.json.Json
import me.xdrop.fuzzywuzzy.FuzzySearch
import org.gameyfin.pluginapi.core.wrapper.GameyfinPlugin
import org.gameyfin.pluginapi.gamemetadata.GameMetadata
import org.gameyfin.pluginapi.gamemetadata.GameMetadataProvider
import org.gameyfin.plugins.metadata.steam.dto.SteamDetailsResultWrapper
import org.gameyfin.plugins.metadata.steam.dto.SteamGame
import org.gameyfin.plugins.metadata.steam.dto.SteamSearchResult
import org.gameyfin.plugins.metadata.steam.mapper.Mapper
import org.pf4j.Extension
import org.pf4j.PluginWrapper
import org.slf4j.LoggerFactory
@@ -1,8 +1,8 @@
package de.grimsi.gameyfinplugins.steam.dto
package org.gameyfin.plugins.metadata.steam.dto
import de.grimsi.gameyfinplugins.steam.util.SteamDateSerializer
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import org.gameyfin.plugins.metadata.steam.util.SteamDateSerializer
import java.time.Instant
@Serializable
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.steam.dto
package org.gameyfin.plugins.metadata.steam.dto
import kotlinx.serialization.Serializable
@@ -1,7 +1,7 @@
package de.grimsi.gameyfinplugins.steam.mapper
package org.gameyfin.plugins.metadata.steam.mapper
import de.grimsi.gameyfin.pluginapi.gamemetadata.Genre
import de.grimsi.gameyfinplugins.steam.dto.SteamGenre
import org.gameyfin.pluginapi.gamemetadata.Genre
import org.gameyfin.plugins.metadata.steam.dto.SteamGenre
class Mapper {
companion object {
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.steam.util
package org.gameyfin.plugins.metadata.steam.util
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.KSerializer
+3 -3
View File
@@ -1,6 +1,6 @@
Plugin-Version: 1.0.0-alpha9
Plugin-Class: de.grimsi.gameyfinplugins.steam.SteamPlugin
Plugin-Id: de.grimsi.gameyfin.steam
Plugin-Version: 1.0.0-beta1
Plugin-Class: org.gameyfin.plugins.metadata.steam.SteamPlugin
Plugin-Id: org.gameyfin.plugins.metadata.steam
Plugin-Name: Steam Metadata
Plugin-Description: Fetches metadata from Steam using undocumented public API endpoints.<br>
This is more of a proof of concept and is prone to breaking when the Steam API changes.
@@ -1,13 +1,13 @@
package de.grimsi.gameyfinplugins.steamgriddb
package org.gameyfin.plugins.metadata.steamgriddb
import de.grimsi.gameyfin.pluginapi.core.config.*
import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadata
import de.grimsi.gameyfin.pluginapi.gamemetadata.GameMetadataProvider
import de.grimsi.gameyfinplugins.steamgriddb.api.SteamGridDbApiClient
import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGame
import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGrid
import kotlinx.coroutines.runBlocking
import org.gameyfin.pluginapi.core.config.*
import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import org.gameyfin.pluginapi.gamemetadata.GameMetadata
import org.gameyfin.pluginapi.gamemetadata.GameMetadataProvider
import org.gameyfin.plugins.metadata.steamgriddb.api.SteamGridDbApiClient
import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGame
import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGrid
import org.pf4j.Extension
import org.pf4j.PluginWrapper
import java.net.URI
@@ -1,8 +1,5 @@
package de.grimsi.gameyfinplugins.steamgriddb.api
package org.gameyfin.plugins.metadata.steamgriddb.api
import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGameResult
import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbGridResult
import de.grimsi.gameyfinplugins.steamgriddb.dto.SteamGridDbSearchResult
import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.engine.cio.*
@@ -12,6 +9,9 @@ import io.ktor.client.statement.*
import io.ktor.http.*
import io.ktor.serialization.kotlinx.json.*
import kotlinx.serialization.json.Json
import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGameResult
import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbGridResult
import org.gameyfin.plugins.metadata.steamgriddb.dto.SteamGridDbSearchResult
class SteamGridDbApiClient(private val apiKey: String) {
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.steamgriddb.dto
package org.gameyfin.plugins.metadata.steamgriddb.dto
import kotlinx.serialization.Serializable
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.steamgriddb.dto
package org.gameyfin.plugins.metadata.steamgriddb.dto
import kotlinx.serialization.Serializable
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.steamgriddb.dto
package org.gameyfin.plugins.metadata.steamgriddb.dto
import kotlinx.serialization.Serializable
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.steamgriddb.dto
package org.gameyfin.plugins.metadata.steamgriddb.dto
import kotlinx.serialization.Serializable
@@ -1,6 +1,6 @@
Plugin-Version: 1.0.0-alpha6
Plugin-Class: de.grimsi.gameyfinplugins.steamgriddb.SteamGridDbPlugin
Plugin-Id: de.grimsi.gameyfin.steamgriddb
Plugin-Version: 1.0.0-beta1
Plugin-Class: org.gameyfin.plugins.metadata.steamgriddb.SteamGridDbPlugin
Plugin-Id: org.gameyfin.plugins.metadata.steamgriddb
Plugin-Name: SteamGridDB Covers
Plugin-Description: Fetches covers from SteamGridDB.<br>
Requires a SteamGridDB account and an API key.<br>
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.torrentdownload
package org.gameyfin.plugins.download.torrent
import bt.torrent.maker.TorrentBuilder
import com.turn.ttorrent.client.CommunicationManager
@@ -7,13 +7,13 @@ import com.turn.ttorrent.client.storage.FullyPieceStorageFactory
import com.turn.ttorrent.network.FirstAvailableChannel
import com.turn.ttorrent.tracker.TrackedTorrent
import com.turn.ttorrent.tracker.Tracker
import de.grimsi.gameyfin.pluginapi.core.config.ConfigMetadata
import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigMetadata
import de.grimsi.gameyfin.pluginapi.core.config.PluginConfigValidationResult
import de.grimsi.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import de.grimsi.gameyfin.pluginapi.download.Download
import de.grimsi.gameyfin.pluginapi.download.DownloadProvider
import de.grimsi.gameyfin.pluginapi.download.FileDownload
import org.gameyfin.pluginapi.core.config.ConfigMetadata
import org.gameyfin.pluginapi.core.config.PluginConfigMetadata
import org.gameyfin.pluginapi.core.config.PluginConfigValidationResult
import org.gameyfin.pluginapi.core.wrapper.ConfigurableGameyfinPlugin
import org.gameyfin.pluginapi.download.Download
import org.gameyfin.pluginapi.download.DownloadProvider
import org.gameyfin.pluginapi.download.FileDownload
import org.pf4j.Extension
import org.pf4j.PluginWrapper
import org.slf4j.LoggerFactory
@@ -1,4 +1,4 @@
package de.grimsi.gameyfinplugins.torrentdownload
package org.gameyfin.plugins.download.torrent
import kotlin.time.Duration
@@ -1,6 +1,6 @@
Plugin-Version: 1.0.0-alpha2
Plugin-Class: de.grimsi.gameyfinplugins.torrentdownload.TorrentDownloadPlugin
Plugin-Id: de.grimsi.gameyfinplugins.torrentdownload
Plugin-Version: 1.0.0-beta1
Plugin-Class: org.gameyfin.plugins.download.torrent.TorrentDownloadPlugin
Plugin-Id: org.gameyfin.plugins.download.torrent
Plugin-Name: Torrent Download
Plugin-Description: Distributes games via a built-in torrent tracker.<br>
Users need to install a torrent client to be able to download the games.