Merge branch 'main' of ssh://code.freedombone.net:2222/bashrc/epicyon

main
Bob Mottram 2021-05-30 12:45:00 +01:00
commit 1a1371233d
3 changed files with 44 additions and 3 deletions

16
defaultthemes.txt 100644
View File

@ -0,0 +1,16 @@
Blue
Debian
Default
Hacker
Henge
Indymediaclassic
Indymediamodern
Lcd
Light
Night
Pixel
Purple
Rc3
Solidaric
Starlight
Zen

View File

@ -101,6 +101,7 @@ from content import removeLongWords
from content import replaceContentDuplicates from content import replaceContentDuplicates
from content import removeTextFormatting from content import removeTextFormatting
from content import removeHtmlTag from content import removeHtmlTag
from theme import updateDefaultThemesList
from theme import setCSSparam from theme import setCSSparam
from linked_data_sig import generateJsonSignature from linked_data_sig import generateJsonSignature
from linked_data_sig import verifyJsonSignature from linked_data_sig import verifyJsonSignature
@ -3721,6 +3722,7 @@ def testRoles() -> None:
def runAllTests(): def runAllTests():
print('Running tests...') print('Running tests...')
updateDefaultThemesList(os.getcwd())
testFunctions() testFunctions()
testRoles() testRoles()
testSkills() testSkills()

View File

@ -14,6 +14,7 @@ from utils import copytree
from shutil import copyfile from shutil import copyfile
from shutil import make_archive from shutil import make_archive
from shutil import unpack_archive from shutil import unpack_archive
from shutil import rmtree
from content import dangerousCSS from content import dangerousCSS
@ -23,8 +24,9 @@ def importTheme(baseDir: str, filename: str) -> bool:
if not os.path.isfile(filename): if not os.path.isfile(filename):
return False return False
tempThemeDir = baseDir + '/imports/files' tempThemeDir = baseDir + '/imports/files'
if not os.path.isdir(tempThemeDir): if os.path.isdir(tempThemeDir):
os.mkdir(tempThemeDir) rmtree(tempThemeDir)
os.mkdir(tempThemeDir)
unpack_archive(filename, tempThemeDir, 'zip') unpack_archive(filename, tempThemeDir, 'zip')
essentialThemeFiles = ('name.txt', 'theme.json') essentialThemeFiles = ('name.txt', 'theme.json')
for themeFile in essentialThemeFiles: for themeFile in essentialThemeFiles:
@ -52,11 +54,19 @@ def importTheme(baseDir: str, filename: str) -> bool:
return False return False
if not newThemeName: if not newThemeName:
return False return False
# if the theme name in the default themes list?
defaultThemesFilename = baseDir + '/defaultthemes.txt'
if os.path.isfile(defaultThemesFilename):
if newThemeName.title() + '\n' in open(defaultThemesFilename).read():
newThemeName = newThemeName + '2'
themeDir = baseDir + '/theme/' + newThemeName themeDir = baseDir + '/theme/' + newThemeName
if not os.path.isdir(themeDir): if not os.path.isdir(themeDir):
os.mkdir(themeDir) os.mkdir(themeDir)
copytree(tempThemeDir, themeDir) copytree(tempThemeDir, themeDir)
os.remove(tempThemeDir) if os.path.isdir(tempThemeDir):
rmtree(tempThemeDir)
return os.path.isfile(themeDir + '/theme.json') return os.path.isfile(themeDir + '/theme.json')
@ -791,3 +801,16 @@ def setTheme(baseDir: str, name: str, domain: str,
_setThemeInConfig(baseDir, name) _setThemeInConfig(baseDir, name)
_setClearCacheFlag(baseDir) _setClearCacheFlag(baseDir)
return result return result
def updateDefaultThemesList(baseDir: str) -> None:
"""Recreates the list of default themes
"""
themeNames = getThemesList(baseDir)
defaultThemesFilename = baseDir + '/defaultthemes.txt'
defaultThemesFile = open(defaultThemesFilename, "w+")
if not defaultThemesFile:
return
for name in themeNames:
defaultThemesFile.write(name + '\n')
defaultThemesFile.close()