Ë
    =1ˆjŸ  ã                   óD  — d Z ddlZddlZddlZddlZ eej                  «      dk  r ed«        ej                  d«       ej                  d   Z	 eej                  «      dkD  rej                  d   ndZ
 eej                  «      dkD  rej                  d   ndZ ej                  dd	«      Z ej                  e«      Zej!                  d
«       ej!                  d«       ej!                  d«       ej!                  d«       ej!                  d«       ej!                  d«       ej!                  d«       ej#                  «        dZdZ ee	d¬«      5 ZeD �]W  Zej/                  «       ZesŒ	  ej0                  e«      Zej5                  d«      xs ddd Zej5                  d«      xs ej5                  d«      xs ddd Zej5                  d«      xs dj/                  «       Zej5                  d«      xs ddd Ze
xs ej5                  d«      xs ddd Zexs ej5                  d«      xs ddd Z ej5                  d «      xs g Z!e!r ejD                  e!d!¬"«      ndZ#eresedz  Z ed#edd › �«       �Œ&ej!                  d$ef«       ej!                  d%eeeeeee#e f«       edz  Z�ŒZ 	 ddd«       ej#                  «        ejM                  «         ed(e› d)e› �«       y# e$$ r!Z%edz  Z ed&e%› d'edd › �«       Y dZ%[%�Œ´dZ%[%ww xY w# 1 sw Y   ŒaxY w)*u  import_jsonl_raw.py - ç›´æŽ¥å¯¼å…¥ JSONL åˆ° gov_raw (ä¿�ç•™æ­£æ–‡ HTML åŽŸæ ·)

ä¸�èµ° import_jsonl_v2 çš„ strip_html å‰¥å¹³é€»è¾‘ â€” æ­£æ–‡ content ä¿�æŒ� <p>/<table> ç»“æž„,
search_app æ£€æµ‹åˆ° <p>/<table> å°±å½“ HTML æ¸²æŸ“, è¡¨æ ¼æ ·å¼�å®Œæ•´ä¿�ç•™ã€‚

JSONL å­—æ®µ: page_url(æˆ– url), title, content, publish_date, site_name, attachments(æ•°ç»„æˆ–ç©º)
ç”¨æ³•: python3 import_jsonl_raw.py <jsonl_path> [site_name] [script_name]
      script_name ç¼ºçœ�: ä¼˜å…ˆå�– JSONL å†… script_name å­—æ®µ, å†�ç¼ºçœ� 'import_jsonl_raw'
é    Né   zAUsage: import_jsonl_raw.py <jsonl_path> [site_name] [script_name]é   Ú é   Ú	SEARCH_DBz/root/search.dbzPRAGMA journal_mode=WALzPRAGMA busy_timeout=300000zPRAGMA synchronous=NORMALzkCREATE VIRTUAL TABLE IF NOT EXISTS gov_search USING fts5(
    title, site_name, summary, tokenize=trigram
)zÇCREATE TRIGGER IF NOT EXISTS trg_gov_raw_fts_ins AFTER INSERT ON gov_raw BEGIN
  INSERT INTO gov_search(rowid, title, site_name, summary)
  VALUES (new.id, new.title, new.site_name, new.summary);
ENDz�CREATE TRIGGER IF NOT EXISTS trg_gov_raw_fts_del AFTER DELETE ON gov_raw BEGIN
  DELETE FROM gov_search WHERE rowid = old.id;
ENDzöCREATE TRIGGER IF NOT EXISTS trg_gov_raw_fts_upd AFTER UPDATE ON gov_raw BEGIN
  DELETE FROM gov_search WHERE rowid = old.id;
  INSERT INTO gov_search(rowid, title, site_name, summary)
  VALUES (new.id, new.title, new.site_name, new.summary);
ENDzutf-8)ÚencodingÚtitleiô  Úpage_urlÚurliè  ÚcontentÚpublish_dateé   Ú	site_nameÚunknownéd   Úscript_nameÚimport_jsonl_rawÚattachmentsF)Úensure_asciiz  [ERR] missing title/url: z&DELETE FROM gov_raw WHERE page_url = ?zŸINSERT INTO gov_raw (title, page_url, content, publish_date, site_name, source_url, status, attachments, script_name) VALUES (?, ?, ?, ?, ?, ?, 'synced', ?, ?)z  [ERR] z: u   âœ… å¯¼å…¥å®Œæˆ�: +z err)'Ú__doc__ÚjsonÚsqlite3ÚsysÚosÚlenÚargvÚprintÚexitÚ
jsonl_pathÚ
force_siteÚforce_scriptÚgetenvÚdb_pathÚconnectÚdbÚexecuteÚcommitÚaddedÚerrorsÚopenÚfÚlineÚstripÚloadsÚitemÚgetr	   r
   r   r   r   r   ÚattÚdumpsÚattachments_strÚ	ExceptionÚeÚclose© ó    úimport_jsonl_raw.pyú<module>r:      s0  ðñ÷ × á€s‡x�xƒ=�1ÒÙ	Ð
MÔNØ€C‡H�HˆQ„Kà�X‰X�a‰[€
Ù §¡›M¨AÒ-ˆS�X‰X�aŠ[°2€
Ù! #§(¡(›m¨aÒ/ˆs�x‰x˜Š{°R€à
ˆ"�)‰)�KÐ!2Ó
3€Ø€W‡_�_�WÓ€Ø ‡
�
Ð$Ô %Ø ‡
�
Ð'Ô (Ø ‡
�
Ð&Ô 'ð ‡
�
ð ô ð ‡
�
ð ô ð ‡
�
ð ô ð ‡
�
ð ô ð
 ‡	�	„à	€Ø	
€Ù	ˆ*˜wÔ'ð 0¨1Øó 0ˆØ�z‰z‹|ˆÙØð	0Ø�4—:‘:˜dÓ#ˆDØ—X‘X˜gÓ&Ò,¨"¨d¨sÐ3ˆEØŸ™ Ó,ÒE°·±¸³ÒEÀ2ÀuÈÐMˆHØ—x‘x 	Ó*Ò0¨b×7Ñ7Ó9ˆGØ ŸH™H ^Ó4Ò:¸¸C¸RÐ@ˆLØ"ÒP t§x¡x°Ó'<Ò'IÀ	È4ÈCÐ&PˆIØ&Ò_¨4¯8©8°MÓ+BÒ+XÐFXÐZ^Ð[^Ð*_ˆKØ—(‘(˜=Ó)Ò/¨RˆCÙEH˜j˜dŸj™j¨¸5ÕAÈbˆOÙ¡5Ø˜!‘�ÙÐ3°D¸¸#°J°<Ð@ÔAÙà�J‰JÐ?À(ÀÔMØ�J‰Jð rØ˜ '¨<¸ÀHÈoÐ_jÐkôð �Q‰JŠEñ10÷0ð: ‡	�	„Ø ‡�„
Ù Ð˜E˜7 $ v hÐ/Õ 0øð ò 	0Ø�a‰KˆFÙ�H˜Q˜C˜r $ t¨ * Ð.×/Ò/ûð	0ú÷50ð 0úsC   ÅLÅ2DK-É>LÊ 2K-Ê2LË-LË2LÌLÌLÌLÌL