Merge branch 'main' of gitlab.com:bashrc2/epicyon

merge-requests/30/head
Bob Mottram 2022-08-20 15:00:17 +01:00
commit 5b7ea48e4a
4 changed files with 92 additions and 77 deletions

View File

@ -201,7 +201,8 @@ def cache_svg_images(session, base_dir: str, http_prefix: str,
image_data = fp_svg.read() image_data = fp_svg.read()
except OSError: except OSError:
print('EX: unable to read svg file data') print('EX: unable to read svg file data')
if image_data: if not image_data:
continue
image_data = image_data.decode() image_data = image_data.decode()
cleaned_up = \ cleaned_up = \
remove_script(image_data, log_filename, actor, url) remove_script(image_data, log_filename, actor, url)
@ -3081,7 +3082,8 @@ def _like_notify(base_dir: str, domain: str,
print('_like_notify liker_handle: ' + print('_like_notify liker_handle: ' +
str(liker_nickname) + '@' + str(liker_domain)) str(liker_nickname) + '@' + str(liker_domain))
liker_handle = actor liker_handle = actor
if liker_handle != handle: if liker_handle == handle:
return
like_str = liker_handle + ' ' + url + '?likedBy=' + actor like_str = liker_handle + ' ' + url + '?likedBy=' + actor
prev_like_file = account_dir + '/.prevLike' prev_like_file = account_dir + '/.prevLike'
# was there a previous like notification? # was there a previous like notification?
@ -3143,7 +3145,8 @@ def _reaction_notify(base_dir: str, domain: str, onion_domain: str,
print('_reaction_notify reaction_handle: ' + print('_reaction_notify reaction_handle: ' +
str(reaction_nickname) + '@' + str(reaction_domain)) str(reaction_nickname) + '@' + str(reaction_domain))
reaction_handle = actor reaction_handle = actor
if reaction_handle != handle: if reaction_handle == handle:
return
reaction_str = \ reaction_str = \
reaction_handle + ' ' + url + '?reactBy=' + actor + \ reaction_handle + ' ' + url + '?reactBy=' + actor + \
';emoj=' + emoji_content ';emoj=' + emoji_content

View File

@ -496,7 +496,7 @@ def get_audio_extensions() -> []:
def get_image_extensions() -> []: def get_image_extensions() -> []:
"""Returns a list of the possible image file extensions """Returns a list of the possible image file extensions
""" """
return ('png', 'jpg', 'jpeg', 'gif', 'webp', 'avif', 'svg', 'ico', 'jxl') return ('jpg', 'jpeg', 'gif', 'webp', 'avif', 'svg', 'ico', 'jxl', 'png')
def get_image_mime_type(image_filename: str) -> str: def get_image_mime_type(image_filename: str) -> str:

View File

@ -68,7 +68,7 @@ from webapp_utils import html_header_with_external_style
from webapp_utils import html_header_with_person_markup from webapp_utils import html_header_with_person_markup
from webapp_utils import html_footer from webapp_utils import html_footer
from webapp_utils import add_emoji_to_display_name from webapp_utils import add_emoji_to_display_name
from webapp_utils import get_banner_file from webapp_utils import get_profile_background_file
from webapp_utils import html_post_separator from webapp_utils import html_post_separator
from webapp_utils import edit_check_box from webapp_utils import edit_check_box
from webapp_utils import edit_text_field from webapp_utils import edit_text_field
@ -404,8 +404,8 @@ def html_profile_after_search(recent_posts_cache: {}, max_recent_posts: int,
profile_str + html_footer() profile_str + html_footer()
def _get_profile_header(http_prefix: str, nickname: str, def _get_profile_header(base_dir: str, http_prefix: str, nickname: str,
domain_full: str, translate: {}, domain: str, domain_full: str, translate: {},
default_timeline: str, default_timeline: str,
display_name: str, display_name: str,
profile_description_short: str, profile_description_short: str,
@ -419,6 +419,8 @@ def _get_profile_header(http_prefix: str, nickname: str,
"""The header of the profile screen, containing background """The header of the profile screen, containing background
image and avatar image and avatar
""" """
banner_file, _ = \
get_profile_background_file(base_dir, nickname, domain, theme)
html_str = \ html_str = \
'\n\n <figure class="profileHeader">\n' + \ '\n\n <figure class="profileHeader">\n' + \
' <a href="/users/' + \ ' <a href="/users/' + \
@ -427,7 +429,7 @@ def _get_profile_header(http_prefix: str, nickname: str,
'accesskey="' + access_keys['menuTimeline'] + '">\n' + \ 'accesskey="' + access_keys['menuTimeline'] + '">\n' + \
' <img class="profileBackground" ' + \ ' <img class="profileBackground" ' + \
'alt="" ' + \ 'alt="" ' + \
'src="/users/' + nickname + '/image_' + theme + '.png" /></a>\n' + \ 'src="/users/' + nickname + '/' + banner_file + '" /></a>\n' + \
' <figcaption>\n' + \ ' <figcaption>\n' + \
' <a href="/users/' + \ ' <a href="/users/' + \
nickname + '/' + default_timeline + '" title="' + \ nickname + '/' + default_timeline + '" title="' + \
@ -904,9 +906,9 @@ def html_profile(signing_priv_key_pem: str,
pinned_content = pin_file.read() pinned_content = pin_file.read()
profile_header_str = \ profile_header_str = \
_get_profile_header(http_prefix, _get_profile_header(base_dir, http_prefix,
nickname, nickname,
domain_full, translate, domain, domain_full, translate,
default_timeline, display_name, default_timeline, display_name,
profile_description_short, profile_description_short,
login_button, avatar_url, theme, login_button, avatar_url, theme,
@ -2302,7 +2304,7 @@ def html_edit_profile(server, translate: {},
# filename of the banner shown at the top # filename of the banner shown at the top
banner_file, _ = \ banner_file, _ = \
get_banner_file(base_dir, nickname, domain, theme) get_profile_background_file(base_dir, nickname, domain, theme)
display_nickname = nickname display_nickname = nickname
is_bot = is_group = follow_dms = remove_twitter = '' is_bot = is_group = follow_dms = remove_twitter = ''

View File

@ -547,11 +547,12 @@ def _get_image_file(base_dir: str, name: str, directory: str,
banner_extensions = get_image_extensions() banner_extensions = get_image_extensions()
banner_file = '' banner_file = ''
banner_filename = '' banner_filename = ''
im_name = name
for ext in banner_extensions: for ext in banner_extensions:
banner_file_test = name + '.' + ext banner_file_test = im_name + '.' + ext
banner_filename_test = directory + '/' + banner_file_test banner_filename_test = directory + '/' + banner_file_test
if os.path.isfile(banner_filename_test): if os.path.isfile(banner_filename_test):
banner_file = name + '_' + theme + '.' + ext banner_file = banner_file_test
banner_filename = banner_filename_test banner_filename = banner_filename_test
return banner_file, banner_filename return banner_file, banner_filename
# if not found then use the default image # if not found then use the default image
@ -575,6 +576,15 @@ def get_banner_file(base_dir: str,
return _get_image_file(base_dir, 'banner', account_dir, theme) return _get_image_file(base_dir, 'banner', account_dir, theme)
def get_profile_background_file(base_dir: str,
nickname: str, domain: str,
theme: str) -> (str, str):
"""Gets the image for the profile background
"""
account_dir = acct_dir(base_dir, nickname, domain)
return _get_image_file(base_dir, 'image', account_dir, theme)
def get_search_banner_file(base_dir: str, def get_search_banner_file(base_dir: str,
nickname: str, domain: str, nickname: str, domain: str,
theme: str) -> (str, str): theme: str) -> (str, str):