mirror of https://gitlab.com/bashrc2/epicyon
Move to first post in timeline
parent
37838718fb
commit
e40115e7d1
13
person.py
13
person.py
|
@ -988,10 +988,20 @@ def person_box_json(recent_posts_cache: {},
|
||||||
# Only show the header by default
|
# Only show the header by default
|
||||||
header_only = True
|
header_only = True
|
||||||
|
|
||||||
|
# first post in the timeline
|
||||||
|
first_post_id = ''
|
||||||
|
if ';firstpost=' in path:
|
||||||
|
first_post_id = \
|
||||||
|
path.split(';firstpost=')[1]
|
||||||
|
first_post_id = \
|
||||||
|
first_post_id.replace('--', '/')
|
||||||
|
|
||||||
# handle page numbers
|
# handle page numbers
|
||||||
page_number = None
|
page_number = None
|
||||||
if '?page=' in path:
|
if '?page=' in path:
|
||||||
page_number = path.split('?page=')[1]
|
page_number = path.split('?page=')[1]
|
||||||
|
if ';' in page_number:
|
||||||
|
page_number = page_number.split(';')[0]
|
||||||
if len(page_number) > 5:
|
if len(page_number) > 5:
|
||||||
page_number = 1
|
page_number = 1
|
||||||
if page_number == 'true':
|
if page_number == 'true':
|
||||||
|
@ -1020,7 +1030,8 @@ def person_box_json(recent_posts_cache: {},
|
||||||
return create_inbox(recent_posts_cache,
|
return create_inbox(recent_posts_cache,
|
||||||
base_dir, nickname, domain, port,
|
base_dir, nickname, domain, port,
|
||||||
http_prefix,
|
http_prefix,
|
||||||
no_of_items, header_only, page_number)
|
no_of_items, header_only, page_number,
|
||||||
|
first_post_id)
|
||||||
if boxname == 'dm':
|
if boxname == 'dm':
|
||||||
return create_dm_timeline(recent_posts_cache,
|
return create_dm_timeline(recent_posts_cache,
|
||||||
base_dir, nickname, domain, port,
|
base_dir, nickname, domain, port,
|
||||||
|
|
16
posts.py
16
posts.py
|
@ -3591,12 +3591,12 @@ def send_to_followers_thread(server, session, session_onion, session_i2p,
|
||||||
def create_inbox(recent_posts_cache: {},
|
def create_inbox(recent_posts_cache: {},
|
||||||
base_dir: str, nickname: str, domain: str, port: int,
|
base_dir: str, nickname: str, domain: str, port: int,
|
||||||
http_prefix: str, items_per_page: int, header_only: bool,
|
http_prefix: str, items_per_page: int, header_only: bool,
|
||||||
page_number: int) -> {}:
|
page_number: int, first_post_id: str) -> {}:
|
||||||
return _create_box_indexed(recent_posts_cache,
|
return _create_box_indexed(recent_posts_cache,
|
||||||
base_dir, 'inbox',
|
base_dir, 'inbox',
|
||||||
nickname, domain, port, http_prefix,
|
nickname, domain, port, http_prefix,
|
||||||
items_per_page, header_only, True,
|
items_per_page, header_only, True,
|
||||||
0, False, 0, page_number)
|
0, False, 0, page_number, first_post_id)
|
||||||
|
|
||||||
|
|
||||||
def create_bookmarks_timeline(base_dir: str,
|
def create_bookmarks_timeline(base_dir: str,
|
||||||
|
@ -3960,7 +3960,8 @@ def _create_box_indexed(recent_posts_cache: {},
|
||||||
items_per_page: int, header_only: bool,
|
items_per_page: int, header_only: bool,
|
||||||
authorized: bool,
|
authorized: bool,
|
||||||
newswire_votes_threshold: int, positive_voting: bool,
|
newswire_votes_threshold: int, positive_voting: bool,
|
||||||
voting_time_mins: int, page_number: int) -> {}:
|
voting_time_mins: int, page_number: int,
|
||||||
|
first_post_id: str = '') -> {}:
|
||||||
"""Constructs the box feed for a person with the given nickname
|
"""Constructs the box feed for a person with the given nickname
|
||||||
"""
|
"""
|
||||||
if not authorized or not page_number:
|
if not authorized or not page_number:
|
||||||
|
@ -4024,6 +4025,9 @@ def _create_box_indexed(recent_posts_cache: {},
|
||||||
total_posts_count = 0
|
total_posts_count = 0
|
||||||
posts_added_to_timeline = 0
|
posts_added_to_timeline = 0
|
||||||
if os.path.isfile(index_filename):
|
if os.path.isfile(index_filename):
|
||||||
|
if first_post_id:
|
||||||
|
first_post_id = first_post_id.replace('--', '#')
|
||||||
|
first_post_id = first_post_id.replace('/', '#')
|
||||||
with open(index_filename, 'r', encoding='utf-8') as index_file:
|
with open(index_filename, 'r', encoding='utf-8') as index_file:
|
||||||
posts_added_to_timeline = 0
|
posts_added_to_timeline = 0
|
||||||
while posts_added_to_timeline < items_per_page:
|
while posts_added_to_timeline < items_per_page:
|
||||||
|
@ -4032,6 +4036,12 @@ def _create_box_indexed(recent_posts_cache: {},
|
||||||
if not post_filename:
|
if not post_filename:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
if first_post_id:
|
||||||
|
if first_post_id in post_filename:
|
||||||
|
total_posts_count = \
|
||||||
|
int((page_number - 1) * items_per_page)
|
||||||
|
continue
|
||||||
|
|
||||||
# Has this post passed through the newswire voting stage?
|
# Has this post passed through the newswire voting stage?
|
||||||
if not _passed_newswire_voting(newswire_votes_threshold,
|
if not _passed_newswire_voting(newswire_votes_threshold,
|
||||||
base_dir, domain,
|
base_dir, domain,
|
||||||
|
|
Loading…
Reference in New Issue