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 | ||||
|             edited_filename, edited_json = \ | ||||
|                 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 | ||||
|             # 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 | ||||
|         # Check the content of the announce | ||||
|         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): | ||||
|             print('WARN: announced post contains dangerous markup ' + | ||||
|                   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) | ||||
| 
 | ||||
|         # set the content after santitization | ||||
|         if using_content_map: | ||||
|             announced_json['contentMap'][system_language] = content_str | ||||
|         announced_json['content'] = content_str | ||||
| 
 | ||||
|         # 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, | ||||
|                          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 | ||||
|     """ | ||||
|     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 | ||||
|     if debug: | ||||
|         print(post_id + ' might be an edit of ' + lastpost_id) | ||||
|     if words_similarity(lastpost_json['object']['content'], | ||||
|                         post_json_object['object']['content'], 10) < 70: | ||||
|     lastpost_content = lastpost_json['object']['content'] | ||||
|     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 | ||||
|     print(post_id + ' is an edit of ' + lastpost_id) | ||||
|     return lastpost_filename, lastpost_json | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue