mirror of
https://github.com/tachiyomiorg/tachiyomi-extensions-inspector.git
synced 2025-02-03 19:12:43 +01:00
Better way of setting it maybe?
This commit is contained in:
parent
5171e509a5
commit
7a52e19235
@ -11,7 +11,6 @@ import com.typesafe.config.Config
|
||||
import com.typesafe.config.ConfigFactory
|
||||
import com.typesafe.config.ConfigRenderOptions
|
||||
import mu.KotlinLogging
|
||||
import net.harawata.appdirs.AppDirsFactory
|
||||
import java.io.File
|
||||
|
||||
/**
|
||||
@ -47,7 +46,7 @@ open class ConfigManager {
|
||||
|
||||
//Load user config
|
||||
val userConfig =
|
||||
File(System.getProperty("ir.armor.tachidesk.rootDir"), "server.conf").let {
|
||||
File(tachideskRootDir(), "server.conf").let {
|
||||
ConfigFactory.parseFile(it)
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,17 @@
|
||||
package xyz.nulldev.ts.config
|
||||
|
||||
import net.harawata.appdirs.AppDirsFactory
|
||||
|
||||
/*
|
||||
* Copyright (C) Contributors to the Suwayomi project
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
fun tachideskRootDir(): String {
|
||||
return System.getProperty(
|
||||
"ir.armor.tachidesk.rootDir",
|
||||
AppDirsFactory.getInstance().getUserDataDir("Tachidesk", null, null)
|
||||
)
|
||||
}
|
@ -8,29 +8,27 @@ package ir.armor.tachidesk.server
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
import ch.qos.logback.classic.Level
|
||||
import com.typesafe.config.Config
|
||||
import eu.kanade.tachiyomi.App
|
||||
import ir.armor.tachidesk.Main
|
||||
import ir.armor.tachidesk.model.dataclass.makeDataBaseTables
|
||||
import ir.armor.tachidesk.server.util.systemTray
|
||||
import mu.KotlinLogging
|
||||
import net.harawata.appdirs.AppDirsFactory
|
||||
import org.kodein.di.DI
|
||||
import org.kodein.di.bind
|
||||
import org.kodein.di.conf.global
|
||||
import org.kodein.di.instance
|
||||
import org.kodein.di.singleton
|
||||
import org.slf4j.Logger
|
||||
import xyz.nulldev.androidcompat.AndroidCompat
|
||||
import xyz.nulldev.androidcompat.AndroidCompatInitializer
|
||||
import xyz.nulldev.ts.config.ConfigKodeinModule
|
||||
import xyz.nulldev.ts.config.GlobalConfigManager
|
||||
import xyz.nulldev.ts.config.tachideskRootDir
|
||||
import java.io.File
|
||||
|
||||
private val logger = KotlinLogging.logger {}
|
||||
|
||||
class ApplicationDirs(
|
||||
val dataRoot: String = AppDirsFactory.getInstance().getUserDataDir("Tachidesk", null, null)
|
||||
val dataRoot: String = tachideskRootDir()
|
||||
) {
|
||||
val extensionsRoot = "$dataRoot/extensions"
|
||||
val thumbnailsRoot = "$dataRoot/thumbnails"
|
||||
@ -44,21 +42,18 @@ val systemTray by lazy { systemTray() }
|
||||
val androidCompat by lazy { AndroidCompat() }
|
||||
|
||||
fun applicationSetup() {
|
||||
val rootDir: String? = System.getProperty("ir.armor.tachidesk.rootDir")
|
||||
val dirs = if (rootDir != null) {
|
||||
ApplicationDirs(rootDir)
|
||||
} else {
|
||||
ApplicationDirs().also {
|
||||
System.setProperty("ir.armor.tachidesk.rootDir", it.dataRoot)
|
||||
}
|
||||
}
|
||||
// Application dirs
|
||||
val applicationDirs = ApplicationDirs()
|
||||
DI.global.addImport(DI.Module("Server") {
|
||||
bind<ApplicationDirs>() with singleton { applicationDirs }
|
||||
})
|
||||
|
||||
// make dirs we need
|
||||
listOf(
|
||||
dirs.dataRoot,
|
||||
dirs.extensionsRoot,
|
||||
dirs.extensionsRoot + "/icon",
|
||||
dirs.thumbnailsRoot
|
||||
applicationDirs.dataRoot,
|
||||
applicationDirs.extensionsRoot,
|
||||
applicationDirs.extensionsRoot + "/icon",
|
||||
applicationDirs.thumbnailsRoot
|
||||
).forEach {
|
||||
File(it).mkdirs()
|
||||
}
|
||||
@ -67,10 +62,6 @@ fun applicationSetup() {
|
||||
ServerConfig.register(GlobalConfigManager.config)
|
||||
)
|
||||
|
||||
// Application dirs
|
||||
DI.global.addImport(DI.Module("Server") {
|
||||
bind<ApplicationDirs>() with singleton { dirs }
|
||||
})
|
||||
// Load config API
|
||||
DI.global.addImport(ConfigKodeinModule().create())
|
||||
// Load Android compatibility dependencies
|
||||
@ -85,7 +76,7 @@ fun applicationSetup() {
|
||||
|
||||
// create conf file if doesn't exist
|
||||
try {
|
||||
val dataConfFile = File("${dirs.dataRoot}/server.conf")
|
||||
val dataConfFile = File("${applicationDirs.dataRoot}/server.conf")
|
||||
if (!dataConfFile.exists()) {
|
||||
Main::class.java.getResourceAsStream("/server-reference.conf").use { input ->
|
||||
dataConfFile.outputStream().use { output ->
|
||||
|
@ -44,6 +44,7 @@ class TestExtensions {
|
||||
System.setProperty("ir.armor.tachidesk.rootDir", dataRoot)
|
||||
applicationSetup()
|
||||
setLoggingEnabled(false)
|
||||
|
||||
runBlocking {
|
||||
extensions = getExtensionList()
|
||||
extensions.forEach {
|
||||
|
Loading…
x
Reference in New Issue
Block a user