This is better.

This commit is contained in:
Aria Moradi 2021-04-04 03:37:00 +04:30
parent 7a52e19235
commit 177c971b52
6 changed files with 28 additions and 23 deletions

View File

@ -9,9 +9,10 @@ import net.harawata.appdirs.AppDirsFactory
* License, v. 2.0. If a copy of the MPL was not distributed with this * 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/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
fun tachideskRootDir(): String { val ApplicationRootDir: String
get(): String {
return System.getProperty( return System.getProperty(
"ir.armor.tachidesk.rootDir", "ir.armor.tachidesk.rootDir",
AppDirsFactory.getInstance().getUserDataDir("Tachidesk", null, null) AppDirsFactory.getInstance().getUserDataDir("Tachidesk", null, null)
) )
} }

View File

@ -46,7 +46,7 @@ open class ConfigManager {
//Load user config //Load user config
val userConfig = val userConfig =
File(tachideskRootDir(), "server.conf").let { File(ApplicationRootDir, "server.conf").let {
ConfigFactory.parseFile(it) ConfigFactory.parseFile(it)
} }

View File

@ -50,7 +50,6 @@ object Extension {
private val logger = KotlinLogging.logger {} private val logger = KotlinLogging.logger {}
private val applicationDirs by DI.global.instance<ApplicationDirs>() private val applicationDirs by DI.global.instance<ApplicationDirs>()
data class InstallableAPK( data class InstallableAPK(
val apkFilePath: String, val apkFilePath: String,
val pkgName: String val pkgName: String

View File

@ -20,15 +20,15 @@ import org.kodein.di.singleton
import org.slf4j.Logger import org.slf4j.Logger
import xyz.nulldev.androidcompat.AndroidCompat import xyz.nulldev.androidcompat.AndroidCompat
import xyz.nulldev.androidcompat.AndroidCompatInitializer import xyz.nulldev.androidcompat.AndroidCompatInitializer
import xyz.nulldev.ts.config.ApplicationRootDir
import xyz.nulldev.ts.config.ConfigKodeinModule import xyz.nulldev.ts.config.ConfigKodeinModule
import xyz.nulldev.ts.config.GlobalConfigManager import xyz.nulldev.ts.config.GlobalConfigManager
import xyz.nulldev.ts.config.tachideskRootDir
import java.io.File import java.io.File
private val logger = KotlinLogging.logger {} private val logger = KotlinLogging.logger {}
class ApplicationDirs( class ApplicationDirs(
val dataRoot: String = tachideskRootDir() val dataRoot: String = ApplicationRootDir
) { ) {
val extensionsRoot = "$dataRoot/extensions" val extensionsRoot = "$dataRoot/extensions"
val thumbnailsRoot = "$dataRoot/thumbnails" val thumbnailsRoot = "$dataRoot/thumbnails"
@ -44,9 +44,11 @@ val androidCompat by lazy { AndroidCompat() }
fun applicationSetup() { fun applicationSetup() {
// Application dirs // Application dirs
val applicationDirs = ApplicationDirs() val applicationDirs = ApplicationDirs()
DI.global.addImport(DI.Module("Server") { DI.global.addImport(
DI.Module("Server") {
bind<ApplicationDirs>() with singleton { applicationDirs } bind<ApplicationDirs>() with singleton { applicationDirs }
}) }
)
// make dirs we need // make dirs we need
listOf( listOf(
@ -58,6 +60,7 @@ fun applicationSetup() {
File(it).mkdirs() File(it).mkdirs()
} }
// register Tachidesk's config which is dubbed "ServerConfig"
GlobalConfigManager.registerModule( GlobalConfigManager.registerModule(
ServerConfig.register(GlobalConfigManager.config) ServerConfig.register(GlobalConfigManager.config)
) )

View File

@ -75,9 +75,11 @@ class TestExtensions {
semaphore.withPermit { semaphore.withPermit {
logger.info { "$index - Now fetching popular manga from $source" } logger.info { "$index - Now fetching popular manga from $source" }
try { try {
mangaToFetch += source to (source.fetchPopularManga(1) mangaToFetch += source to (
source.fetchPopularManga(1)
.awaitSingleRepeat().mangas.firstOrNull() .awaitSingleRepeat().mangas.firstOrNull()
?: throw Exception("Source returned no manga")) ?: throw Exception("Source returned no manga")
)
} catch (e: Exception) { } catch (e: Exception) {
logger.warn { "Failed to fetch popular manga from $source: ${e.message}" } logger.warn { "Failed to fetch popular manga from $source: ${e.message}" }
failedToFetch += source to e failedToFetch += source to e