mirror of https://gitlab.com/bashrc2/epicyon
Setting custom theme values
parent
ca4b116f25
commit
37be686862
18
daemon.py
18
daemon.py
|
@ -317,7 +317,7 @@ from cache import storePersonInCache
|
|||
from cache import getPersonFromCache
|
||||
from cache import getPersonPubKey
|
||||
from httpsig import verifyPostHeaders
|
||||
# from theme import setThemeFromDesigner
|
||||
from theme import setThemeFromDesigner
|
||||
from theme import scanThemesForScripts
|
||||
from theme import importTheme
|
||||
from theme import exportTheme
|
||||
|
@ -2118,7 +2118,8 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
onionDomain: str, i2pDomain: str,
|
||||
debug: bool, accessKeys: {},
|
||||
defaultTimeline: str, themeName: str,
|
||||
allowLocalNetworkAccess: bool) -> None:
|
||||
allowLocalNetworkAccess: bool,
|
||||
systemLanguage: str) -> None:
|
||||
"""Receive POST from webapp_themeDesigner
|
||||
"""
|
||||
usersPath = '/users/' + nickname
|
||||
|
@ -2174,14 +2175,16 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
print('themeDesigner3: ' + str(fields))
|
||||
|
||||
# get the parameters from the theme designer screen
|
||||
# themeDesignerParams = {}
|
||||
themeDesignerParams = {}
|
||||
for variableName, key in fields.items():
|
||||
if variableName.startswith('themeSetting_'):
|
||||
variableName = variableName.replace('themeSetting_', '')
|
||||
# themeDesignerParams[variableName] = key
|
||||
themeDesignerParams[variableName] = key
|
||||
|
||||
# setThemeFromDesigner(baseDir, themeName, themeDesignerParams,
|
||||
# allowLocalNetworkAccess)
|
||||
setThemeFromDesigner(baseDir, themeName, domain,
|
||||
themeDesignerParams,
|
||||
allowLocalNetworkAccess,
|
||||
systemLanguage)
|
||||
|
||||
# redirect back from theme designer screen
|
||||
if callingDomain.endswith('.onion') and onionDomain:
|
||||
|
@ -17867,7 +17870,8 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
accessKeys,
|
||||
self.server.defaultTimeline,
|
||||
self.server.themeName,
|
||||
self.server.allowLocalNetworkAccess)
|
||||
self.server.allowLocalNetworkAccess,
|
||||
self.server.systemLanguage)
|
||||
return
|
||||
|
||||
# update the shared item federation token for the calling domain
|
||||
|
|
48
theme.py
48
theme.py
|
@ -492,17 +492,14 @@ def _setCustomFont(baseDir: str):
|
|||
cssfile.write(css)
|
||||
|
||||
|
||||
def setThemeFromDesigner(baseDir: str, themeName: str,
|
||||
def setThemeFromDesigner(baseDir: str, themeName: str, domain: str,
|
||||
themeParams: {},
|
||||
allowLocalNetworkAccess: bool):
|
||||
bgParams = {
|
||||
"login": "jpg",
|
||||
"follow": "jpg",
|
||||
"options": "jpg",
|
||||
"search": "jpg"
|
||||
}
|
||||
_setThemeFromDict(baseDir, themeName, themeParams, bgParams,
|
||||
allowLocalNetworkAccess)
|
||||
allowLocalNetworkAccess: bool,
|
||||
systemLanguage: str):
|
||||
customThemeFilename = baseDir + '/accounts/theme.json'
|
||||
saveJson(themeParams, customThemeFilename)
|
||||
setTheme(baseDir, themeName, domain,
|
||||
allowLocalNetworkAccess, systemLanguage)
|
||||
|
||||
|
||||
def _readVariablesFile(baseDir: str, themeName: str,
|
||||
|
@ -513,9 +510,23 @@ def _readVariablesFile(baseDir: str, themeName: str,
|
|||
themeParams = loadJson(variablesFile, 0)
|
||||
if not themeParams:
|
||||
return
|
||||
setThemeFromDesigner(baseDir, themeName,
|
||||
themeParams,
|
||||
allowLocalNetworkAccess)
|
||||
|
||||
# set custom theme parameters
|
||||
customVariablesFile = baseDir + '/accounts/theme.json'
|
||||
if os.path.isfile(customVariablesFile):
|
||||
customThemeParams = loadJson(customVariablesFile, 0)
|
||||
if customThemeParams:
|
||||
for variableName, value in customThemeParams.items():
|
||||
themeParams[variableName] = value
|
||||
|
||||
bgParams = {
|
||||
"login": "jpg",
|
||||
"follow": "jpg",
|
||||
"options": "jpg",
|
||||
"search": "jpg"
|
||||
}
|
||||
_setThemeFromDict(baseDir, themeName, themeParams, bgParams,
|
||||
allowLocalNetworkAccess)
|
||||
|
||||
|
||||
def _setThemeDefault(baseDir: str, allowLocalNetworkAccess: bool):
|
||||
|
@ -797,6 +808,17 @@ def setTheme(baseDir: str, name: str, domain: str,
|
|||
result = False
|
||||
|
||||
prevThemeName = getTheme(baseDir)
|
||||
|
||||
# if the theme has changed then remove any custom settings
|
||||
if prevThemeName != name:
|
||||
customVariablesFile = baseDir + '/accounts/theme.json'
|
||||
if os.path.isfile(customVariablesFile):
|
||||
print('Removing theme designer settings')
|
||||
try:
|
||||
os.remove(customVariablesFile)
|
||||
except OSError:
|
||||
print('EX: removing theme designer settings')
|
||||
|
||||
_removeTheme(baseDir)
|
||||
|
||||
themes = getThemesList(baseDir)
|
||||
|
|
Loading…
Reference in New Issue