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,7 +9,8 @@ import net.harawata.appdirs.AppDirsFactory
* 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 {
val ApplicationRootDir: String
get(): String {
return System.getProperty(
"ir.armor.tachidesk.rootDir",
AppDirsFactory.getInstance().getUserDataDir("Tachidesk", null, null)

View File

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

View File

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

View File

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

View File

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