
    dh                     p    S SK r S SKrS SKJr  S SKJrJr  S SKJr  S SK	J
r
  S\S\4S jr " S	 S
\
5      rg)    N)Path)IteratorUnion)Document)
BaseLoaderrowreturnc                     U S   nU S   n[         R                   R                  U S   S-  5      R                  S5      nU SU SU S3$ )	z~Combine 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       j/var/www/html/shao/venv/lib/python3.13/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                   D    \ rS rSrSrS\\\4   4S jrS\	\
   4S jrSrg)	FacebookChatLoader   z-Load `Facebook Chat` messages directory dump.pathc                     Xl         g)zInitialize with a path.N	file_path)selfr   s     r   __init__FacebookChatLoader.__init__   s    r   r	   c              #     #    [        U R                  5      n[        USS9 n[        R                  " U5      nS S S 5        SR                  S WS    5       5      nS[        U5      0n[        XES9v   g ! , (       d  f       NB= f7f)Nutf8)encoding c              3      #    U HB  nUR                  S 5      (       d  M  [        US    [        5      (       d  M5  [        U5      v   MD     g7f)r   N)get
isinstancestrr   ).0messages     r   	<genexpr>/FacebookChatLoader.lazy_load.<locals>.<genexpr>&   sB      
({{9% &*4WY5G*M &W%%(s   AAAmessagessource)page_contentmetadata)r   r   openjsonloadjoinr(   r   )r   pfdr   r0   s         r   	lazy_loadFacebookChatLoader.lazy_load    su      !f%		!A & ww 
Z=
 

 c!f%D<< &%s    BA5<B5
B?Br   N)__name__
__module____qualname____firstlineno____doc__r   r(   r   r   r   r   r8   __static_attributes__ r   r   r   r      s+    7U39- =8H- =r   r   )r   r2   pathlibr   typingr   r   langchain_core.documentsr   )langchain_community.document_loaders.baser   dictr(   r   r   r@   r   r   <module>rF      s6       " - @-$ -3 -= =r   