Move daemon blog function to its own module

merge-requests/30/head
Bob Mottram 2024-03-03 13:52:24 +00:00
parent 5329d9f5cd
commit f217596d8a
2 changed files with 96 additions and 80 deletions

View File

@ -13,7 +13,6 @@ import json
import urllib.parse import urllib.parse
from siteactive import referer_is_active from siteactive import referer_is_active
from maps import map_format_from_tagmaps_path from maps import map_format_from_tagmaps_path
from blog import html_blog_page
from blog import html_edit_blog from blog import html_edit_blog
from blog import html_blog_post from blog import html_blog_post
from blog import path_contains_blog_link from blog import path_contains_blog_link
@ -202,6 +201,7 @@ from daemon_get_webfinger import get_webfinger
from daemon_get_reactions import reaction_picker2 from daemon_get_reactions import reaction_picker2
from daemon_get_instance_actor import show_instance_actor from daemon_get_instance_actor import show_instance_actor
from daemon_get_vcard import show_vcard from daemon_get_vcard import show_vcard
from daemon_get_blog import show_blog_page
# Blogs can be longer, so don't show many per page # Blogs can be longer, so don't show many per page
MAX_POSTS_IN_BLOGS_FEED = 4 MAX_POSTS_IN_BLOGS_FEED = 4
@ -1649,7 +1649,7 @@ def daemon_http_get(self) -> None:
# for a particular account # for a particular account
if html_getreq and self.path.startswith('/blog/'): if html_getreq and self.path.startswith('/blog/'):
if '/rss.xml' not in self.path: if '/rss.xml' not in self.path:
if _show_blog_page(self, authorized, if show_blog_page(self, authorized,
calling_domain, self.path, calling_domain, self.path,
self.server.base_dir, self.server.base_dir,
self.server.http_prefix, self.server.http_prefix,
@ -1659,11 +1659,11 @@ def daemon_http_get(self) -> None:
proxy_type, proxy_type,
cookie, self.server.translate, cookie, self.server.translate,
self.server.debug, self.server.debug,
curr_session): curr_session, MAX_POSTS_IN_BLOGS_FEED):
return return
fitness_performance(getreq_start_time, self.server.fitness, fitness_performance(getreq_start_time, self.server.fitness,
'_GET', '_show_blog_page', '_GET', 'show_blog_page',
self.server.debug) self.server.debug)
if html_getreq and users_in_path: if html_getreq and users_in_path:
@ -4491,73 +4491,6 @@ def _get_speaker(self, calling_domain: str, referer_domain: str,
write2(self, msg) write2(self, msg)
def _show_blog_page(self, authorized: bool,
calling_domain: str, path: str,
base_dir: str, http_prefix: str,
domain: str, port: int,
getreq_start_time,
proxy_type: str, cookie: str,
translate: {}, debug: str,
curr_session) -> bool:
"""Shows a blog page
"""
page_number = 1
nickname = path.split('/blog/')[1]
if '/' in nickname:
nickname = nickname.split('/')[0]
if '?' in nickname:
nickname = nickname.split('?')[0]
if '?page=' in path:
page_number_str = path.split('?page=')[1]
if ';' in page_number_str:
page_number_str = page_number_str.split(';')[0]
if '?' in page_number_str:
page_number_str = page_number_str.split('?')[0]
if '#' in page_number_str:
page_number_str = page_number_str.split('#')[0]
if len(page_number_str) > 5:
page_number_str = "1"
if page_number_str.isdigit():
page_number = int(page_number_str)
if page_number < 1:
page_number = 1
elif page_number > 10:
page_number = 10
curr_session = \
establish_session("showBlogPage",
curr_session, proxy_type,
self.server)
if not curr_session:
http_404(self, 90)
self.server.getreq_busy = False
return True
msg = html_blog_page(authorized,
curr_session,
base_dir,
http_prefix,
translate,
nickname,
domain, port,
MAX_POSTS_IN_BLOGS_FEED, page_number,
self.server.peertube_instances,
self.server.system_language,
self.server.person_cache,
debug)
if msg is not None:
msg = msg.encode('utf-8')
msglen = len(msg)
set_headers(self, 'text/html', msglen,
cookie, calling_domain, False)
write2(self, msg)
fitness_performance(getreq_start_time,
self.server.fitness,
'_GET', '_show_blog_page',
debug)
return True
http_404(self, 91)
return True
def _redirect_to_login_screen(self, calling_domain: str, path: str, def _redirect_to_login_screen(self, calling_domain: str, path: str,
http_prefix: str, domain_full: str, http_prefix: str, domain_full: str,
onion_domain: str, i2p_domain: str, onion_domain: str, i2p_domain: str,

83
daemon_get_blog.py 100644
View File

@ -0,0 +1,83 @@
__filename__ = "daemon_get_blog.py"
__author__ = "Bob Mottram"
__license__ = "AGPL3+"
__version__ = "1.5.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@libreserver.org"
__status__ = "Production"
__module_group__ = "Core"
from httpcodes import write2
from session import establish_session
from httpcodes import http_404
from httpheaders import set_headers
from blog import html_blog_page
from fitnessFunctions import fitness_performance
def show_blog_page(self, authorized: bool,
calling_domain: str, path: str,
base_dir: str, http_prefix: str,
domain: str, port: int,
getreq_start_time,
proxy_type: str, cookie: str,
translate: {}, debug: str,
curr_session,
max_posts_in_blogs_feed: int) -> bool:
"""Shows a blog page
"""
page_number = 1
nickname = path.split('/blog/')[1]
if '/' in nickname:
nickname = nickname.split('/')[0]
if '?' in nickname:
nickname = nickname.split('?')[0]
if '?page=' in path:
page_number_str = path.split('?page=')[1]
if ';' in page_number_str:
page_number_str = page_number_str.split(';')[0]
if '?' in page_number_str:
page_number_str = page_number_str.split('?')[0]
if '#' in page_number_str:
page_number_str = page_number_str.split('#')[0]
if len(page_number_str) > 5:
page_number_str = "1"
if page_number_str.isdigit():
page_number = int(page_number_str)
if page_number < 1:
page_number = 1
elif page_number > 10:
page_number = 10
curr_session = \
establish_session("showBlogPage",
curr_session, proxy_type,
self.server)
if not curr_session:
http_404(self, 90)
self.server.getreq_busy = False
return True
msg = html_blog_page(authorized,
curr_session,
base_dir,
http_prefix,
translate,
nickname,
domain, port,
max_posts_in_blogs_feed, page_number,
self.server.peertube_instances,
self.server.system_language,
self.server.person_cache,
debug)
if msg is not None:
msg = msg.encode('utf-8')
msglen = len(msg)
set_headers(self, 'text/html', msglen,
cookie, calling_domain, False)
write2(self, msg)
fitness_performance(getreq_start_time,
self.server.fitness,
'_GET', 'show_blog_page',
debug)
return True
http_404(self, 91)
return True