mirror of https://gitlab.com/bashrc2/epicyon
Extra check for edition tag
parent
f27cc4d66e
commit
4e59beab16
16
outbox.py
16
outbox.py
|
@ -63,6 +63,7 @@ from shares import outbox_undo_share_upload
|
|||
from webapp_post import individual_post_as_html
|
||||
from speaker import update_speaker
|
||||
from reading import store_book_events
|
||||
from reading import has_edition_tag
|
||||
|
||||
|
||||
def _person_receive_update_outbox(base_dir: str, http_prefix: str,
|
||||
|
@ -502,13 +503,14 @@ def post_message_to_outbox(session, translate: {},
|
|||
theme, system_language,
|
||||
outbox_name)
|
||||
|
||||
store_book_events(base_dir,
|
||||
message_json,
|
||||
system_language, [],
|
||||
translate, debug,
|
||||
max_recent_books,
|
||||
books_cache,
|
||||
max_cached_readers)
|
||||
if has_edition_tag(message_json):
|
||||
store_book_events(base_dir,
|
||||
message_json,
|
||||
system_language, [],
|
||||
translate, debug,
|
||||
max_recent_books,
|
||||
books_cache,
|
||||
max_cached_readers)
|
||||
|
||||
# save all instance blogs to the news actor
|
||||
if post_to_nickname != 'news' and outbox_name == 'tlblogs':
|
||||
|
|
27
reading.py
27
reading.py
|
@ -89,6 +89,30 @@ def _get_book_image_from_post(post_json_object: {}) -> str:
|
|||
return ''
|
||||
|
||||
|
||||
def has_edition_tag(post_json_object: {}) -> bool:
|
||||
"""Checks whether the given post has an Edition tag
|
||||
indicating that it contains a book event
|
||||
"""
|
||||
post_obj = post_json_object
|
||||
if has_object_dict(post_json_object):
|
||||
post_obj = post_json_object['object']
|
||||
|
||||
if not post_obj.get('tag'):
|
||||
return False
|
||||
if not isinstance(post_obj['tag'], list):
|
||||
return False
|
||||
for tag in post_obj['tag']:
|
||||
if not isinstance(tag, dict):
|
||||
continue
|
||||
if not tag.get('type'):
|
||||
continue
|
||||
if not isinstance(tag['type'], str):
|
||||
continue
|
||||
if tag['type'] == 'Edition':
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def get_reading_status(post_json_object: {},
|
||||
system_language: str,
|
||||
languages_understood: [],
|
||||
|
@ -169,6 +193,9 @@ def get_reading_status(post_json_object: {},
|
|||
book_dict['image_url'] = book_image_url
|
||||
return book_dict
|
||||
|
||||
if not has_edition_tag(post_json_object):
|
||||
return {}
|
||||
|
||||
# get the book details from a post tag
|
||||
book_dict = get_book_from_post(post_json_object, debug)
|
||||
if not book_dict:
|
||||
|
|
Loading…
Reference in New Issue