
    i                         d Z ddlZddlZddlZddlmZ ej                  j                  dd       ddlm	Z	 ddgZ
dZd	ed
efdZde	ded	ed
efdZd Zedk(  r e        yy)u   
Threads 텍스트 포스트 업로드 스크립트
작성자: 엔키 (백엔드 팀원)

post1-anger-curiosity.txt, post2-fear-empathy.txt 두 파일을 순차적으로
Threads에 업로드하고 결과를 JSON으로 출력합니다.
    N)Pathz/home/jay/projects/ThreadAuto)ThreadsPublisherzR/home/jay/workspace/teams/dev5-team/output/threads-posts/post1-anger-curiosity.txtzO/home/jay/workspace/teams/dev5-team/output/threads-posts/post2-fear-empathy.txt   	file_pathreturnc                     t        |       }|j                         st        d|        |j                  d      j	                         S )u5   텍스트 파일을 읽어 내용을 반환합니다.u-   포스트 파일을 찾을 수 없습니다: zutf-8)encoding)r   existsFileNotFoundError	read_textstrip)r   paths     b/home/jay/workspace/.worktrees/task-2116-dev1/teams/dev5-team/output/threads-posts/upload_posts.pyread_post_filer   $   sB    	?D;;="OPY{ [\\>>7>+1133    	publishertextc                     ||dddd}| j                  |      }||j                  dd      |j                  d      |j                  d      d	S )
u<   단일 텍스트 포스트를 Threads에 업로드합니다.)r   caption N)content
image_pathpost_idsuccessFthreads_post_iderrorfiler   r   r   )publishget)r   r   r   	post_dataresults        r   upload_postr#   ,   s_     !T2I
 y)F::i/!::&78G$	 r   c                  
   g } t               }t        t              D ]  \  }}t        d|dz    dt	        t               dt        |      j                          	 t        |      }t        |||      }| j                  |       |d   rdnd	}t        d
| d|d    d|d           |t	        t              dz
  k  st        dt         d       t        j                  t                t	        |       t        d | D              t        d | D              | d}t        d       t        d       t        d       t        t!        j"                  |dd             |S # t        $ r}|dd t        |      d}Y d }~d }~ww xY w)Nz
[   /u   ] 포스트 업로드 중: Fr   r   u   성공u   실패z  -> z | threads_post_id: r   z
 | error: r   u#   
  API rate limit 방지를 위해 u   초 대기 중...c              3   ,   K   | ]  }|d    s	d  ywr   r%   N .0rs     r   	<genexpr>zmain.<locals>.<genexpr>[   s     @11Y<Q@   
c              3   ,   K   | ]  }|d    r	d  ywr(   r)   r*   s     r   r-   zmain.<locals>.<genexpr>\   s     AAiL!Ar.   )totalsuccess_count
fail_countpostsz=
============================================================u   업로드 결과 (JSON):z<============================================================   )ensure_asciiindent)r   	enumerate
POST_FILESprintlenr   namer   r#   	ExceptionstrappendDELAY_BETWEEN_POSTStimesleepsumjsondumps)	resultsr   idxr   r   r"   excstatusoutputs	            r   mainrJ   <   s|   G "I#J/ ,YC!G9Ac*o..I$y/J^J^I_`a		!),D D)<F 	v#I.HfX1&9J2K1LJW]^eWfVghi Z1$$89L8MM^_`JJ*+-,4 W@@@AWAA	F 
/	
$%	(O	$**V%
:;M?  	! #'S	F	s   E	F'E==F__main__)__doc__rC   sysr@   pathlibr   r   insertpublisher.threads_publisherr   r8   r?   r=   r   dictr#   rJ   __name__r)   r   r   <module>rS      s     
   2 3 8 YU

  4c 4c 4+ 3 3 4  )X zF r   