mirror of https://github.com/CIRCL/AIL-framework
				
				
				
			chg: [chat users] add users icons
							parent
							
								
									2b8e9b43f3
								
							
						
					
					
						commit
						fa4f1269cd
					
				|  | @ -193,7 +193,7 @@ class AbstractChatFeeder(DefaultFeeder, ABC): | |||
|             subchannel.add_message(obj.get_global_id(), self.get_message_id(), timestamp, reply_id=reply_id) | ||||
|         return subchannel | ||||
| 
 | ||||
|     def process_sender(self, obj, date, timestamp): | ||||
|     def process_sender(self, new_objs, obj, date, timestamp): | ||||
|         meta = self.json_data['meta']['sender'] | ||||
|         user_account = UsersAccount.UserAccount(meta['id'], self.get_chat_instance_uuid()) | ||||
| 
 | ||||
|  | @ -217,6 +217,12 @@ class AbstractChatFeeder(DefaultFeeder, ABC): | |||
|         if meta.get('phone'): | ||||
|             user_account.set_phone(meta['phone']) | ||||
| 
 | ||||
|         if meta.get('icon'): | ||||
|             img = Images.create(meta['icon'], b64=True) | ||||
|             img.add(date, user_account) | ||||
|             user_account.set_icon(img.get_global_id()) | ||||
|             new_objs.add(img) | ||||
| 
 | ||||
|         return user_account | ||||
| 
 | ||||
|     # Create abstract class: -> new API endpoint ??? => force field, check if already imported ? | ||||
|  | @ -271,7 +277,7 @@ class AbstractChatFeeder(DefaultFeeder, ABC): | |||
|             chat = self.process_chat(new_objs, obj, date, timestamp, reply_id=reply_id) | ||||
| 
 | ||||
|             # SENDER # TODO HANDLE NULL SENDER | ||||
|             user_account = self.process_sender(obj, date, timestamp) | ||||
|             user_account = self.process_sender(new_objs, obj, date, timestamp) | ||||
| 
 | ||||
|             # UserAccount---Chat | ||||
|             user_account.add_correlation(chat.type, chat.get_subtype(r_str=True), chat.id) | ||||
|  |  | |||
|  | @ -83,6 +83,14 @@ class UserAccount(AbstractSubtypeObject): | |||
|     def set_phone(self, phone): | ||||
|         return self._set_field('phone', phone) | ||||
| 
 | ||||
|     def get_icon(self): | ||||
|         icon = self._get_field('icon') | ||||
|         if icon: | ||||
|             return icon.rsplit(':', 1)[1] | ||||
| 
 | ||||
|     def set_icon(self, icon): | ||||
|         self._set_field('icon', icon) | ||||
| 
 | ||||
|     def _get_timeline_username(self): | ||||
|         return Timeline(self.get_global_id(), 'username') | ||||
| 
 | ||||
|  | @ -107,6 +115,8 @@ class UserAccount(AbstractSubtypeObject): | |||
|                 meta['username'] = Usernames.Username(username_account_id, username_account_subtype).get_meta() | ||||
|         if 'usernames' in options: | ||||
|             meta['usernames'] = self.get_usernames() | ||||
|         if 'icon' in options: | ||||
|             meta['icon'] = self.get_icon() | ||||
|         return meta | ||||
| 
 | ||||
|     def get_misp_object(self): | ||||
|  |  | |||
|  | @ -26,7 +26,8 @@ | |||
| 
 | ||||
| <div class="chat-message-left pb-1"> | ||||
|     <div> | ||||
|         <img src="{{ url_for('static', filename='image/ail-icon.png') }}" class="rounded-circle mr-1" alt="{{ message['user-account']['id'] }}" width="40" height="40"> | ||||
|         <img src="{% if message['user-account']['icon'] %}{{ url_for('objects_image.image', filename=message['user-account']['icon'])}}{% else %}{{ url_for('static', filename='image/ail-icon.png') }}{% endif %}" | ||||
|              class="rounded-circle mr-1" alt="{{ message['user-account']['id'] }}" width="40" height="40"> | ||||
|         <div class="text-muted small text-nowrap mt-2">{{ message['hour'] }}</div> | ||||
|     </div> | ||||
|     <div class="flex-shrink-1 bg-light rounded py-2 px-3 ml-4 pb-4" style="overflow-x: auto"> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 terrtia
						terrtia