From 7c677cf4d4be26550131a97a28e14b019f2f8b25 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 3 Mar 2024 12:40:56 +0000 Subject: [PATCH] Move function to daemon images module --- daemon_get.py | 41 ++------------------------ daemon_get_images.py | 69 +++++++++++++++++++++++++++++++++----------- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/daemon_get.py b/daemon_get.py index c44126164..8a3f38409 100644 --- a/daemon_get.py +++ b/daemon_get.py @@ -92,7 +92,6 @@ from httpcodes import http_400 from httpcodes import http_503 from httpcodes import write2 from utils import locate_post -from utils import get_image_mime_type from utils import user_agent_domain from utils import local_network_host from utils import permitted_dir @@ -193,6 +192,7 @@ from daemon_get_images import show_default_profile_background from daemon_get_images import column_image from daemon_get_images import search_screen_banner from daemon_get_images import show_qrcode +from daemon_get_images import show_emoji from daemon_get_post import show_individual_post from daemon_get_post import show_notify_post from daemon_get_post import show_replies_to_post @@ -2420,8 +2420,8 @@ def daemon_http_get(self) -> None: # emoji images if '/emoji/' in self.path: - _show_emoji(self, self.path, self.server.base_dir, - getreq_start_time) + show_emoji(self, self.path, self.server.base_dir, + getreq_start_time) return fitness_performance(getreq_start_time, self.server.fitness, @@ -4840,41 +4840,6 @@ def _redirect_to_login_screen(self, calling_domain: str, path: str, return False -def _show_emoji(self, path: str, - base_dir: str, getreq_start_time) -> None: - """Returns an emoji image - """ - if is_image_file(path): - emoji_str = path.split('/emoji/')[1] - emoji_filename = base_dir + '/emoji/' + emoji_str - if not os.path.isfile(emoji_filename): - emoji_filename = base_dir + '/emojicustom/' + emoji_str - if os.path.isfile(emoji_filename): - if etag_exists(self, emoji_filename): - # The file has not changed - http_304(self) - return - - media_image_type = get_image_mime_type(emoji_filename) - media_binary = None - try: - with open(emoji_filename, 'rb') as av_file: - media_binary = av_file.read() - except OSError: - print('EX: unable to read emoji image ' + emoji_filename) - if media_binary: - set_headers_etag(self, emoji_filename, - media_image_type, - media_binary, None, - self.server.domain_full, - False, None) - write2(self, media_binary) - fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_emoji', self.server.debug) - return - http_404(self, 36) - - def _get_ontology(self, calling_domain: str, path: str, base_dir: str, getreq_start_time) -> None: diff --git a/daemon_get_images.py b/daemon_get_images.py index 15ccd0317..cf7d41312 100644 --- a/daemon_get_images.py +++ b/daemon_get_images.py @@ -117,7 +117,7 @@ def show_avatar_or_banner(self, referer_domain: str, path: str, write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_avatar_or_banner', + '_GET', 'show_avatar_or_banner', self.server.debug) return True @@ -147,7 +147,7 @@ def show_cached_avatar(self, referer_domain: str, path: str, False, None) write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_cached_avatar', + '_GET', 'show_cached_avatar', self.server.debug) return http_404(self, 46) @@ -195,7 +195,7 @@ def show_help_screen_image(self, path: str, False, None) write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_help_screen_image', + '_GET', 'show_help_screen_image', self.server.debug) return http_404(self, 43) @@ -225,7 +225,7 @@ def show_manual_image(self, path: str, False, None) write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_manual_image', + '_GET', 'show_manual_image', self.server.debug) return if os.path.isfile(media_filename): @@ -246,7 +246,7 @@ def show_manual_image(self, path: str, write2(self, media_binary) self.server.iconsCache[media_filename] = media_binary fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_manual_image', + '_GET', 'show_manual_image', self.server.debug) return http_404(self, 42) @@ -276,7 +276,7 @@ def show_specification_image(self, path: str, False, None) write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_specification_image', + '_GET', 'show_specification_image', self.server.debug) return if os.path.isfile(media_filename): @@ -297,7 +297,7 @@ def show_specification_image(self, path: str, write2(self, media_binary) self.server.iconsCache[media_filename] = media_binary fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_specification_image', + '_GET', 'show_specification_image', self.server.debug) return http_404(self, 40) @@ -338,7 +338,7 @@ def show_share_image(self, path: str, write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_share_image', + '_GET', 'show_share_image', self.server.debug) return True @@ -376,7 +376,7 @@ def show_icon(self, path: str, False, None) write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_icon', self.server.debug) + '_GET', 'show_icon', self.server.debug) return if os.path.isfile(media_filename): media_binary = None @@ -395,7 +395,7 @@ def show_icon(self, path: str, write2(self, media_binary) self.server.iconsCache[media_str] = media_binary fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_icon', self.server.debug) + '_GET', 'show_icon', self.server.debug) return http_404(self, 38) @@ -444,7 +444,7 @@ def show_media(self, path: str, base_dir: str, write2(self, media_transcript) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_media', + '_GET', 'show_media', self.server.debug) return http_404(self, 32) @@ -463,7 +463,7 @@ def show_media(self, path: str, base_dir: str, last_modified_time_str) write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_media', self.server.debug) + '_GET', 'show_media', self.server.debug) return http_404(self, 33) @@ -515,7 +515,7 @@ def show_qrcode(self, calling_domain: str, path: str, write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_show_qrcode', + '_GET', 'show_qrcode', self.server.debug) return True http_404(self, 94) @@ -564,7 +564,7 @@ def search_screen_banner(self, path: str, write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_search_screen_banner', + '_GET', 'search_screen_banner', self.server.debug) return True http_404(self, 96) @@ -608,7 +608,7 @@ def column_image(self, side: str, path: str, base_dir: str, domain: str, write2(self, media_binary) fitness_performance(getreq_start_time, self.server.fitness, - '_GET', '_column_image ' + side, + '_GET', 'column_image ' + side, self.server.debug) return True http_404(self, 98) @@ -654,7 +654,7 @@ def show_default_profile_background(self, base_dir: str, theme_name: str, fitness_performance(getreq_start_time, self.server.fitness, '_GET', - '_show_default_profile_background', + 'show_default_profile_background', self.server.debug) return True break @@ -705,8 +705,43 @@ def show_background_image(self, path: str, fitness_performance(getreq_start_time, self.server.fitness, '_GET', - '_show_background_image', + 'show_background_image', self.server.debug) return True http_404(self, 99) return True + + +def show_emoji(self, path: str, + base_dir: str, getreq_start_time) -> None: + """Returns an emoji image + """ + if is_image_file(path): + emoji_str = path.split('/emoji/')[1] + emoji_filename = base_dir + '/emoji/' + emoji_str + if not os.path.isfile(emoji_filename): + emoji_filename = base_dir + '/emojicustom/' + emoji_str + if os.path.isfile(emoji_filename): + if etag_exists(self, emoji_filename): + # The file has not changed + http_304(self) + return + + media_image_type = get_image_mime_type(emoji_filename) + media_binary = None + try: + with open(emoji_filename, 'rb') as av_file: + media_binary = av_file.read() + except OSError: + print('EX: unable to read emoji image ' + emoji_filename) + if media_binary: + set_headers_etag(self, emoji_filename, + media_image_type, + media_binary, None, + self.server.domain_full, + False, None) + write2(self, media_binary) + fitness_performance(getreq_start_time, self.server.fitness, + '_GET', 'show_emoji', self.server.debug) + return + http_404(self, 36)