mirror of https://gitlab.com/bashrc2/epicyon
84 lines
2.9 KiB
Python
84 lines
2.9 KiB
Python
__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 GET"
|
|
|
|
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
|