
    j                       d Z ddlmZ ddlZddlZddlZddlZddlZddl	m
Z
  e
e      j                         j                  Zej                  d   Zej"                  j%                  d eedz  dz               ddlmZmZmZmZ ej2                  j5                  d	d
      Zej2                  j5                  dd      ZdZdZdZdZ ddZ!ddZ"ddZ#ddZ$ddZ%ddZ&ddZ'd dZ(e)dk(  r ejT                   e(              yy)!u  把当日日报 markdown append 到本周聚合 Gitea issue。

每人每周一个 issue，标题：`[daily-report] <user> · YYYY-W##`，labels：
`daily-report` + `user/<git-username>`。找不到则创建，找到则 POST 一条 comment。

被 run.py 调用：从 stdin 读 markdown 正文，flags: --user --date --raw-url。

stdout 打印：issue URL（成功）；非零 exit 表示失败。
    )annotationsN)Path   scriptsops)Apiensure_labelfind_issue_by_title	get_token
GITEA_HOSTz43.130.59.228
GITEA_REPOzFFAIWorkspace/workspacezchore/daily-reports-rollingzdaily-reportz#4f46e5z#0ea5e9c                x    t         j                  j                  |       }|j                         \  }}}| d|dS )u4   2026-05-21 → 2026-W21（ISO week date 表示）。z-W02d)dtdatefromisoformatisocalendar)date_strdiso_yeariso_week_s        ^/home/chentao/Code/ffworkspace-wt/.agent-pool/slot-3/scripts/ops/daily-report/gitea_comment.pyiso_week_labelr   $   s;    
h'AMMOHhZr(3((    c                f    t         j                  j                  |       }d|j                            S )uX   返回中文星期字（单字），调用方负责拼"周"前缀。避免 off-by-one。u   一二三四五六日)r   r   r   weekday)r   r   s     r   
weekday_zhr   +   s'    
h'A"199;//r   c                &    t        | t        |      S )u?   按 label=daily-report 拉 issue 列表，title exact 匹配。)labeltitle)r
   LABEL_DAILY)apititle_exacts     r   find_open_issuer%   1   s    s+[IIr   c                    g }t        | t        t        d      }||j                  |       t        | d| t        | d      }||j                  |       |S )uK   返回 [daily_label_id, user_label_id]，跳过创建失败的（None）。u   每日开发日报聚合)namecolordescriptionzuser/u    的日报 / 任务)r	   r"   LABEL_DAILY_COLORappendLABEL_USER_COLOR)r#   useridsdaily_iduser_ids        r   ensure_labelsr1   6   sc    CCk9JXrsH

83uTF^;K\`[aatYuvG

7Jr   c                    d| d| }dt          dt         dt         d}||d}|r||d<   | j                  d	|
      \  }}|dvrt	        d| d|d d        t        j                  |      S )N[daily-report]     · u   本周聚合日报。每天 00:05 cron 自动 append 一条 comment。

- 数据源：commits / PR / Claude Code 对话
- L2 信号 → Haiku 4.5 转化为行动建议
- 完整 markdown 文件落在 `u2   ` 分支

ref: [scripts/ops/daily-report/](http:///z./src/branch/develop/scripts/ops/daily-report)
)r!   bodylabelsz/issuesr6         zcreate issue : ,  )ROLLING_BRANCHr   r   postRuntimeErrorjsonloads)	r#   r-   
week_label	label_idsr!   r6   payloadstatusresps	            r   create_issuerH   B   s    dV4
|4E+ ,:*: ;33=,a
|Kz		| 	 t,G%88IG84LFDZ]6("T$3ZLABB::dr   c                l    | j                  d| dd|i      \  }}|dvrt        d| d|d d        y )	N/issues/z	/commentsr6   r8   r9   zpost comment r<   r=   )r?   r@   )r#   issue_numberr6   rF   rG   s        r   post_commentrL   T   sP    88h|nI>fd^8TLFDZ]6("T$3ZLABB  r   c                T    d|  dt        |        d|j                          d| d| dS )Nz### u   （周u   ）

u$   

---
[📄 完整 markdown 文件](u   ) · @
)r   strip)r   markdownraw_urlr-   s       r   assemble_commentrR   Z   sA    
xjz(34G>>
 ))0	vR	Ar   c                    t        j                  d      } | j                  dd       | j                  ddd       | j                  d	dd
       | j                         }t        j
                  j                         j                         }|st        dt        j                         yt               }t        |t              }t        |j                        }d|j                   d| }t!        ||j                        }t#        ||      }|s:t%        ||j                  ||      }t        d|d    t        j                         n!t        d|d    t        j                         t'        |j                  ||j(                  |j                        }	t+        ||d   |	       dt,         dt         d|d    }
t        |
       y)Nz3Post daily report to weekly Gitea aggregation issue)r)   z--userT)requiredz--datez
YYYY-MM-DD)rT   helpz	--raw-urlz*Gitea raw URL of the daily-reports md filez ERROR: empty markdown from stdin)filer   )tokenrepor3   r4   zcreated issue #numberzusing existing issue #zhttp://r5   rJ   r   )argparseArgumentParseradd_argument
parse_argssysstdinreadrO   printstderrr   r   r   r   r   r-   r1   r%   rH   rR   rQ   rL   r   )pargsrP   rW   r#   rC   r!   rD   issuecomment_body	issue_urls              r   mainrh   c   st   ,abANN8dN+NN8dN>NN;4`Na<<>Dyy~~%%'H0szzBKE
E

+C		*Jdii[ZL9Ec499-IC'ES$))ZCh01

C&uX&78szzJ#DIIxtyyQLeHo|4*Qzl(5?:KLI	)r   __main__)r   strreturnrj   )r$   rj   )r-   rj   rk   	list[int])r-   rj   rC   rj   rD   rl   rk   dict)rK   intr6   rj   rk   None)
r   rj   rP   rj   rQ   rj   r-   rj   rk   rj   )rk   rn   )+__doc__
__future__r   rZ   datetimer   rA   osr^   pathlibr   __file__resolveparent
SCRIPT_DIRparents	REPO_ROOTpathinsertrj   
_gitea_apir   r	   r
   r   environgetr   r   r>   r"   r*   r,   r   r   r%   r1   rH   rL   rR   rh   __name__exit r   r   <module>r      s    #    	 
 (^##%,,
q!	 3y9,u45 6 H HZZ^^L/:
ZZ^^L*CD
.  )0J
	$CD zCHHTV r   