Less indentation

merge-requests/30/head
Bob Mottram 2021-02-26 16:02:31 +00:00
parent 7dbaaa267a
commit e751eecf1e
1 changed files with 56 additions and 53 deletions

109
daemon.py
View File

@ -9776,59 +9776,62 @@ class PubServer(BaseHTTPRequestHandler):
GETstartTime, GETtimings: {}) -> bool: GETstartTime, GETtimings: {}) -> bool:
"""Shows an avatar or banner or profile background image """Shows an avatar or banner or profile background image
""" """
if '/users/' in path: if '/users/' not in path:
if self._pathIsImage(path): return False
avatarStr = path.split('/users/')[1] if not self._pathIsImage(path):
if '/' in avatarStr and '.temp.' not in path: return False
avatarNickname = avatarStr.split('/')[0] avatarStr = path.split('/users/')[1]
avatarFile = avatarStr.split('/')[1] if not ('/' in avatarStr and '.temp.' not in path):
avatarFileExt = avatarFile.split('.')[-1] return False
# remove any numbers, eg. avatar123.png becomes avatar.png avatarNickname = avatarStr.split('/')[0]
if avatarFile.startswith('avatar'): avatarFile = avatarStr.split('/')[1]
avatarFile = 'avatar.' + avatarFileExt avatarFileExt = avatarFile.split('.')[-1]
elif avatarFile.startswith('banner'): # remove any numbers, eg. avatar123.png becomes avatar.png
avatarFile = 'banner.' + avatarFileExt if avatarFile.startswith('avatar'):
elif avatarFile.startswith('search_banner'): avatarFile = 'avatar.' + avatarFileExt
avatarFile = 'search_banner.' + avatarFileExt elif avatarFile.startswith('banner'):
elif avatarFile.startswith('image'): avatarFile = 'banner.' + avatarFileExt
avatarFile = 'image.' + avatarFileExt elif avatarFile.startswith('search_banner'):
elif avatarFile.startswith('left_col_image'): avatarFile = 'search_banner.' + avatarFileExt
avatarFile = 'left_col_image.' + avatarFileExt elif avatarFile.startswith('image'):
elif avatarFile.startswith('right_col_image'): avatarFile = 'image.' + avatarFileExt
avatarFile = 'right_col_image.' + avatarFileExt elif avatarFile.startswith('left_col_image'):
avatarFilename = \ avatarFile = 'left_col_image.' + avatarFileExt
baseDir + '/accounts/' + \ elif avatarFile.startswith('right_col_image'):
avatarNickname + '@' + domain + '/' + avatarFile avatarFile = 'right_col_image.' + avatarFileExt
if os.path.isfile(avatarFilename): avatarFilename = \
if self._etag_exists(avatarFilename): baseDir + '/accounts/' + \
# The file has not changed avatarNickname + '@' + domain + '/' + avatarFile
self._304() if not os.path.isfile(avatarFilename):
return True return False
mediaImageType = 'png' if self._etag_exists(avatarFilename):
if avatarFile.endswith('.png'): # The file has not changed
mediaImageType = 'png' self._304()
elif avatarFile.endswith('.jpg'): return True
mediaImageType = 'jpeg' mediaImageType = 'png'
elif avatarFile.endswith('.gif'): if avatarFile.endswith('.png'):
mediaImageType = 'gif' mediaImageType = 'png'
elif avatarFile.endswith('.avif'): elif avatarFile.endswith('.jpg'):
mediaImageType = 'avif' mediaImageType = 'jpeg'
elif avatarFile.endswith('.svg'): elif avatarFile.endswith('.gif'):
mediaImageType = 'svg+xml' mediaImageType = 'gif'
else: elif avatarFile.endswith('.avif'):
mediaImageType = 'webp' mediaImageType = 'avif'
with open(avatarFilename, 'rb') as avFile: elif avatarFile.endswith('.svg'):
mediaBinary = avFile.read() mediaImageType = 'svg+xml'
self._set_headers_etag(avatarFilename, else:
'image/' + mediaImageType, mediaImageType = 'webp'
mediaBinary, None, with open(avatarFilename, 'rb') as avFile:
self.server.domainFull) mediaBinary = avFile.read()
self._write(mediaBinary) self._set_headers_etag(avatarFilename,
self._benchmarkGETtimings(GETstartTime, GETtimings, 'image/' + mediaImageType,
'icon shown done', mediaBinary, None,
'avatar background shown') self.server.domainFull)
return True self._write(mediaBinary)
return False self._benchmarkGETtimings(GETstartTime, GETtimings,
'icon shown done',
'avatar background shown')
return True
def _confirmDeleteEvent(self, callingDomain: str, path: str, def _confirmDeleteEvent(self, callingDomain: str, path: str,
baseDir: str, httpPrefix: str, cookie: str, baseDir: str, httpPrefix: str, cookie: str,