mirror of
https://gitlab.com/octtspacc/staticoso
synced 2025-06-05 22:09:23 +02:00
Transition to monorepo on a new Dev branch
This commit is contained in:
77
App/Source/Modules/Config.py
Normal file
77
App/Source/Modules/Config.py
Normal file
@ -0,0 +1,77 @@
|
||||
""" ================================= |
|
||||
| This file is part of |
|
||||
| staticoso |
|
||||
| Just a simple Static Site Generator |
|
||||
| |
|
||||
| Licensed under the AGPLv3 license |
|
||||
| Copyright (C) 2022, OctoSpacc |
|
||||
| ================================= """
|
||||
|
||||
import configparser
|
||||
from ast import literal_eval
|
||||
|
||||
DefConf = {
|
||||
"Logging": 20,
|
||||
"Threads": 0,
|
||||
"DiffBuild": False,
|
||||
"OutDir": "public",
|
||||
"SiteLang": "en",
|
||||
"SiteTemplate": "Default.html",
|
||||
"ActivityPubTypeFilter": "Post",
|
||||
"ActivityPubHoursLimit": 168,
|
||||
"CategoriesUncategorized": "Uncategorized",
|
||||
"FeedCategoryFilter": "Blog",
|
||||
"FeedEntries": 10,
|
||||
"JournalRedirect": False
|
||||
}
|
||||
|
||||
def LoadConfFile(File):
|
||||
Conf = configparser.ConfigParser()
|
||||
Conf.optionxform = str
|
||||
Conf.read(File)
|
||||
return Conf
|
||||
|
||||
def LoadConfStr(Str):
|
||||
Conf = configparser.ConfigParser()
|
||||
Conf.optionxform = str
|
||||
Conf.read_string(Str)
|
||||
return Conf
|
||||
|
||||
def ReadConf(Conf, Sect, Opt=None):
|
||||
if Opt:
|
||||
if Conf.has_option(Sect, Opt):
|
||||
return Conf[Sect][Opt]
|
||||
else:
|
||||
if Conf.has_section(Sect):
|
||||
return Conf[Sect]
|
||||
return None
|
||||
|
||||
def EvalOpt(Opt):
|
||||
if Opt:
|
||||
return literal_eval(Opt)
|
||||
else:
|
||||
return None
|
||||
|
||||
# TODO: Cleaning
|
||||
|
||||
def OptionChoose(Default, Primary, Secondary, Tertiary=None):
|
||||
return Primary if Primary != None else Secondary if Secondary != None else Tertiary if Tertiary != None else Default
|
||||
def OptChoose(Default, Primary, Secondary, Tertiary=None):
|
||||
return OptionChoose(Default, Primary, Secondary, Tertiary=None)
|
||||
|
||||
def DefConfOptChoose(Key, Primary, Secondary):
|
||||
return OptChoose(DefConf[Key], Primary, Secondary)
|
||||
|
||||
def StringBoolChoose(Default, Primary, Secondary):
|
||||
Var = Default
|
||||
Check = Primary if Primary != None else Secondary
|
||||
if type(Check) == bool:
|
||||
Var = Check
|
||||
elif type(Check) == str:
|
||||
if Check in ('True', 'All', '*'):
|
||||
Var = True
|
||||
elif Check in ('False', 'None'):
|
||||
Var = False
|
||||
return Var
|
||||
def StrBoolChoose(Default, Primary, Secondary):
|
||||
return StringBoolChoose(Default, Primary, Secondary)
|
Reference in New Issue
Block a user