
    h                     n    d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dl	m
Z
 dedefdZ G d	 d
e
      Zy)    N)Path)IteratorUnion)Document)
BaseLoaderrowreturnc                     | d   }| d   }t         j                   j                  | d   dz        j                  d      }| d| d| dS )	zCombine message information in a readable format ready to be used.

    Args:
        row: dictionary containing message information.
    sender_namecontenttimestamp_msi  z%Y-%m-%d %H:%M:%Sz on z: z

)datetimefromtimestampstrftime)r   sendertextdates       p/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/langchain_community/document_loaders/facebook_chat.pyconcatenate_rowsr      s`     Fy>D**3~+>+EFOOD XT$r$t,,    c                   8    e Zd ZdZdeeef   fdZdee	   fdZ
y)FacebookChatLoaderz-Load `Facebook Chat` messages directory dump.pathc                     || _         y)zInitialize with a path.N)	file_path)selfr   s     r   __init__zFacebookChatLoader.__init__   s	    r   r	   c              #     K   t        | j                        }t        |d      5 }t        j                  |      }d d d        dj                  d d   D              }dt        |      i}t        ||       y # 1 sw Y   AxY ww)Nutf8)encoding c              3   z   K   | ]3  }|j                  d       r t        |d    t              rt        |       5 yw)r   N)get
isinstancestrr   ).0messages     r   	<genexpr>z/FacebookChatLoader.lazy_load.<locals>.<genexpr>&   s7      
{{9%*WY5G*M W%
s   9;messagessource)page_contentmetadata)r   r   openjsonloadjoinr%   r   )r   pfdr   r,   s         r   	lazy_loadzFacebookChatLoader.lazy_load    s      !f% 			!A	 ww 
Z=
 

 c!f%D8<<	 	s   #BA;A B;B BN)__name__
__module____qualname____doc__r   r%   r   r   r   r   r4    r   r   r   r      s+    7U39- =8H- =r   r   )r   r.   pathlibr   typingr   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   dictr%   r   r   r9   r   r   <module>r?      s6       " - @-$ -3 -= =r   