
    rWi              
       $   S r SSKrSSKr\R                  R	                  S\R                  R                  \R                  R                  \R                  R                  \5      5      5      5        SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS jr\S:X  a1  \" \R&                  5      S	:  a  \R&                  S	   OSr \" \5        gg! \ aB  r\" S
\" \5       35        SSKr\R4                  " 5         \R6                  " S	5         SrCgSrCff = f)u   
同步知识库数据到数据库

使用方法：
    python3 scripts/sync_knowledge.py [category_id]
    如果不指定 category_id，会同步所有分类方向
    N)Flask)db)KnowledgeService)Configc           	      .   [        [        5      nUR                  R                  [        5        [
        R                  " U5        UR                  5          [        5       nU (       a.  SSK	J
n  UR                  R                  U S9R                  5       nO SSK	J
n  UR                  R                  5       nU(       d*  [        S5        U (       a  [        SU  35         SSS5        g[        S5        [        S5        [        S5        SSS	.nU H  n[        S
UR                   SUR                    35        [        S5         UR#                  UR                  5      nUS==   US   -  ss'   US==   US   -  ss'   US   S:  d	  US   S:  a1  [        S5        [        SUS    S35        [        SUS    S35        M  [        S5        [        SUR                   S35        M     [        S5        [        S5        [        S5        [        S5        [        SUS    S35        [        SUS    S35        SSS5        g! [$         a8  n[        S['        U5       35        SSKn	U	R*                  " 5          SnAGMp  SnAff = f! , (       d  f       g= f)u   同步知识库数据r   )CategoryConfig)idu   
❌ 未找到分类方向u      查找的 category_id: Nz<============================================================u   开始同步知识库数据)itemswriteupsu   
📁 同步分类方向: z - z<------------------------------------------------------------r
   r   u      ✓ 同步成功u         - 新增知识点: u    个u         - 新增 Writeup: u2      ⚠️  未找到数据文件或数据已存在u         提示: 检查 u9   /data/ 目录下是否有 vulnerability_db.json 等文件u      ❌ 同步失败: z=
============================================================u   同步完成u   总计:u     - 新增知识点: u     - 新增 Writeup: )r   __name__configfrom_objectr   r   init_appapp_contextr   app.models.database.modelsr   query	filter_byallprintr	   namesync_from_filesystem	Exceptionstr	traceback	print_exc)
category_idappservicer   
categoriestotal_statscatstatser   s
             @   /Users/yu22x/Desktop/ddd_副本128/ctf/scripts/sync_knowledge.pysync_knowledger%      sK    /CJJ6" KK		"$ A'--77;7GKKMJA'--113J/12;-@A 
	" 	h+,h !q1C/xs388*EF(O&44SVV<G$g6$J'5+<<'>A%z):Q)>/15eGn5ETJK4U:5F4GtLMNP1#&&9rst * 	onh%k'&:%;4@A$[%<$=TBCc 
	N  &-c!fX67 ##%%&O 
	sL   BJ&AJA<I>J $I$AJ
J,I>7J>JJ
J__main__   u   
✗ 同步数据出错: )N)__doc__ossyspathinsertabspathdirname__file__flaskr   r   r   app.services.knowledger   r   r   r%   r   lenargvr   r   r#   r   r   r   r   exit     r$   <module>r7      s    
 
 277??277??277??83L#MN O  ) 3 :Dz z!$SXX!2#((1+K{#	 
  *3q6(34	s   =C D8D

D