mirror of https://gitlab.com/bashrc2/epicyon
Use contentMap when detecting edited posts
parent
4d088eca0f
commit
39a64844e0
3
inbox.py
3
inbox.py
|
@ -3937,7 +3937,8 @@ def _inbox_after_initial(server,
|
||||||
# NOTE: this must be done before update_conversation is called
|
# NOTE: this must be done before update_conversation is called
|
||||||
edited_filename, edited_json = \
|
edited_filename, edited_json = \
|
||||||
edited_post_filename(base_dir, handle_name, domain,
|
edited_post_filename(base_dir, handle_name, domain,
|
||||||
post_json_object, debug, 300)
|
post_json_object, debug, 300,
|
||||||
|
system_language)
|
||||||
|
|
||||||
# If this was an edit then update the edits json file and
|
# If this was an edit then update the edits json file and
|
||||||
# delete the previous version of the post
|
# delete the previous version of the post
|
||||||
|
|
23
posts.py
23
posts.py
|
@ -4944,6 +4944,11 @@ def download_announce(session, base_dir: str, http_prefix: str,
|
||||||
return None
|
return None
|
||||||
# Check the content of the announce
|
# Check the content of the announce
|
||||||
content_str = announced_json['content']
|
content_str = announced_json['content']
|
||||||
|
using_content_map = False
|
||||||
|
if announced_json.get('contentMap'):
|
||||||
|
if announced_json['contentMap'].get(system_language):
|
||||||
|
content_str = announced_json['contentMap'][system_language]
|
||||||
|
using_content_map = True
|
||||||
if dangerous_markup(content_str, allow_local_network_access):
|
if dangerous_markup(content_str, allow_local_network_access):
|
||||||
print('WARN: announced post contains dangerous markup ' +
|
print('WARN: announced post contains dangerous markup ' +
|
||||||
str(announced_json))
|
str(announced_json))
|
||||||
|
@ -4980,6 +4985,8 @@ def download_announce(session, base_dir: str, http_prefix: str,
|
||||||
content_str = remove_text_formatting(content_str, bold_reading)
|
content_str = remove_text_formatting(content_str, bold_reading)
|
||||||
|
|
||||||
# set the content after santitization
|
# set the content after santitization
|
||||||
|
if using_content_map:
|
||||||
|
announced_json['contentMap'][system_language] = content_str
|
||||||
announced_json['content'] = content_str
|
announced_json['content'] = content_str
|
||||||
|
|
||||||
# wrap in create to be consistent with other posts
|
# wrap in create to be consistent with other posts
|
||||||
|
@ -5476,7 +5483,8 @@ def seconds_between_published(published1: str, published2: str) -> int:
|
||||||
|
|
||||||
def edited_post_filename(base_dir: str, nickname: str, domain: str,
|
def edited_post_filename(base_dir: str, nickname: str, domain: str,
|
||||||
post_json_object: {}, debug: bool,
|
post_json_object: {}, debug: bool,
|
||||||
max_time_diff_seconds: int) -> (str, {}):
|
max_time_diff_seconds: int,
|
||||||
|
system_language: str) -> (str, {}):
|
||||||
"""Returns the filename of the edited post
|
"""Returns the filename of the edited post
|
||||||
"""
|
"""
|
||||||
if not has_object_dict(post_json_object):
|
if not has_object_dict(post_json_object):
|
||||||
|
@ -5545,8 +5553,17 @@ def edited_post_filename(base_dir: str, nickname: str, domain: str,
|
||||||
return '', None
|
return '', None
|
||||||
if debug:
|
if debug:
|
||||||
print(post_id + ' might be an edit of ' + lastpost_id)
|
print(post_id + ' might be an edit of ' + lastpost_id)
|
||||||
if words_similarity(lastpost_json['object']['content'],
|
lastpost_content = lastpost_json['object']['content']
|
||||||
post_json_object['object']['content'], 10) < 70:
|
if lastpost_json['object'].get('contentMap'):
|
||||||
|
if lastpost_json['object']['contentMap'].get(system_language):
|
||||||
|
lastpost_content = \
|
||||||
|
lastpost_json['object']['contentMap'][system_language]
|
||||||
|
content = post_json_object['object']['content']
|
||||||
|
if post_json_object['object'].get('contentMap'):
|
||||||
|
if post_json_object['object']['contentMap'].get(system_language):
|
||||||
|
content = \
|
||||||
|
post_json_object['object']['contentMap'][system_language]
|
||||||
|
if words_similarity(lastpost_content, content, 10) < 70:
|
||||||
return '', None
|
return '', None
|
||||||
print(post_id + ' is an edit of ' + lastpost_id)
|
print(post_id + ' is an edit of ' + lastpost_id)
|
||||||
return lastpost_filename, lastpost_json
|
return lastpost_filename, lastpost_json
|
||||||
|
|
Loading…
Reference in New Issue