mirror of https://gitlab.com/bashrc2/epicyon
Link to exported theme
parent
acd8aaa50f
commit
b168fde295
13
daemon.py
13
daemon.py
|
@ -256,6 +256,7 @@ from cache import checkForChangedActor
|
|||
from cache import storePersonInCache
|
||||
from cache import getPersonFromCache
|
||||
from httpsig import verifyPostHeaders
|
||||
from theme import exportTheme
|
||||
from theme import isNewsThemeName
|
||||
from theme import getTextModeBanner
|
||||
from theme import setNewsAvatar
|
||||
|
@ -4147,6 +4148,18 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
print('WARN: profile update, no text ' +
|
||||
'fields could be extracted from POST')
|
||||
|
||||
if fields.get('submitExportTheme'):
|
||||
print('submitExportTheme')
|
||||
themeDownloadPath = actorStr
|
||||
if exportTheme(self.server.baseDir,
|
||||
self.server.themeName):
|
||||
themeDownloadPath += \
|
||||
'/exports/' + self.server.themeName + '.zip'
|
||||
self._redirect_headers(themeDownloadPath,
|
||||
cookie, callingDomain)
|
||||
self.server.POSTbusy = False
|
||||
return
|
||||
|
||||
# load the json for the actor for this user
|
||||
actorFilename = \
|
||||
baseDir + '/accounts/' + \
|
||||
|
|
19
theme.py
19
theme.py
|
@ -11,9 +11,28 @@ from utils import loadJson
|
|||
from utils import saveJson
|
||||
from utils import getImageExtensions
|
||||
from shutil import copyfile
|
||||
from shutil import make_archive
|
||||
from content import dangerousCSS
|
||||
|
||||
|
||||
def exportTheme(baseDir: str, theme: str) -> bool:
|
||||
"""Exports a theme as a zip file
|
||||
"""
|
||||
themeDir = baseDir + '/theme/' + theme
|
||||
if not os.path.isdir(themeDir):
|
||||
return False
|
||||
if not os.path.isdir(baseDir + '/exports'):
|
||||
os.mkdir(baseDir + '/exports')
|
||||
exportFilename = baseDir + '/exports/' + theme + '.zip'
|
||||
if os.path.isfile(exportFilename):
|
||||
os.remove(exportFilename)
|
||||
try:
|
||||
make_archive(exportFilename, 'zip', themeDir)
|
||||
except BaseException:
|
||||
pass
|
||||
return os.path.isfile(exportFilename)
|
||||
|
||||
|
||||
def _getThemeFiles() -> []:
|
||||
"""Gets the list of theme style sheets
|
||||
"""
|
||||
|
|
|
@ -1347,7 +1347,7 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
|||
translate['Export Theme'] + '</label><br>\n'
|
||||
graphicsStr += \
|
||||
' <button type="submit" class="button" ' + \
|
||||
'name="exportTheme">➤</button>\n'
|
||||
'name="submitExportTheme">➤</button>\n'
|
||||
|
||||
graphicsStr += ' </div></details>\n'
|
||||
|
||||
|
|
Loading…
Reference in New Issue