From e51ba4d34def78f255a3f7f49c0b6b7dc7c66b36 Mon Sep 17 00:00:00 2001 From: Quad Date: Mon, 11 Apr 2022 08:38:03 +0200 Subject: [PATCH] Fixup settings handling slightly --- src/modules/blog.nim | 10 +++++----- src/modules/env.nim | 8 +++++++- src/nimblog.nim | 9 ++++++++- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/modules/blog.nim b/src/modules/blog.nim index dd95804..3621dfc 100644 --- a/src/modules/blog.nim +++ b/src/modules/blog.nim @@ -1,15 +1,15 @@ -import env import prologue import templating +import env proc getIndex*(ctx: Context) {.async.} = resp renderTemplate(templateName="index.nwt") -proc runWebsite() = - let settings = newSettings( - debug = boolEnvOrDefault("DEBUG", false) +proc runWebsite(settings: Table) = + let prologueSettings = newSettings( + debug = settings["debug"] ) - let website = newApp(settings = settings) + let website = newApp(settings = prologueSettings) website.get("/", getIndex) diff --git a/src/modules/env.nim b/src/modules/env.nim index eed6176..237da97 100644 --- a/src/modules/env.nim +++ b/src/modules/env.nim @@ -8,4 +8,10 @@ proc boolEnvOrDefault(envName: string, default: bool): bool = else: return default -export boolEnvOrDefault +proc strEnvOrDefault(envName: string, default: string): string = + if existsEnv(envName): + return getEnv(envName) + else: + return default + +export boolEnvOrDefault, strEnvOrDefault diff --git a/src/nimblog.nim b/src/nimblog.nim index b2781a9..e3eb2f3 100644 --- a/src/nimblog.nim +++ b/src/nimblog.nim @@ -1,8 +1,15 @@ when isMainModule: + import tables import modules/blog + import modules/env + + let settings = { + "debug": boolEnvOrDefault("DEBUG", false), + "logging": boolEnvOrDefault("NIMBLOG_LOG", true) + }.toTable() try: echo "Starting website" - runWebsite() + runWebsite(settings) except: echo "Could not run website"