|
|
@@ -0,0 +1,23 @@
|
|
|
+import parsecfg except Config
|
|
|
+import os, net, types, strutils
|
|
|
+
|
|
|
+proc get[T](config: parseCfg.Config; s, v: string; default: T): T =
|
|
|
+ let val = config.getSectionValue(s, v)
|
|
|
+ if val.len == 0: return default
|
|
|
+
|
|
|
+ when T is int: parseInt(val)
|
|
|
+ elif T is bool: parseBool(val)
|
|
|
+ elif T is string: val
|
|
|
+
|
|
|
+proc getConfig*(path: string): Config =
|
|
|
+ var cfg = loadConfig(path)
|
|
|
+
|
|
|
+ Config(
|
|
|
+ address: cfg.get("Server", "address", "0.0.0.0"),
|
|
|
+ port: cfg.get("Server", "port", 8080),
|
|
|
+ title: cfg.get("Server", "title", "Nitter"),
|
|
|
+ staticDir: cfg.get("Server", "staticDir", "./public"),
|
|
|
+
|
|
|
+ cacheDir: cfg.get("Cache", "directory", "/tmp/nitter"),
|
|
|
+ profileCacheTime: cfg.get("Cache", "profileMinutes", 10)
|
|
|
+ )
|