From 936b4f9075131f8e1e1a6c4c85c5fd213d52ee44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=A8?= Date: Sun, 20 Apr 2025 18:15:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E4=BB=A5=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=97=B6=E9=97=B4=E4=BD=9C=E4=B8=BA=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增 write_mtime 配置参数 2. 更新项目英语翻译 --- README.md | 21 +- README_EN.md | 21 +- example.py | 14 +- locale/en_US/LC_MESSAGES/xhs.mo | Bin 13206 -> 14828 bytes locale/en_US/LC_MESSAGES/xhs.po | 358 +++++++++++++++++++------------- locale/xhs.pot | 336 ++++++++++++++++++------------ locale/zh_CN/LC_MESSAGES/xhs.mo | Bin 2224 -> 2224 bytes locale/zh_CN/LC_MESSAGES/xhs.po | 336 ++++++++++++++++++------------ pyproject.toml | 4 +- requirements.txt | 8 +- source/TUI/setting.py | 6 + source/application/app.py | 3 + source/application/download.py | 13 +- source/application/explore.py | 3 + source/module/manager.py | 20 +- source/module/settings.py | 1 + source/module/static.py | 2 +- source/translation/translate.py | 1 + static/Release_Notes.md | 17 +- uv.lock | 304 ++++++++++++++------------- 20 files changed, 882 insertions(+), 586 deletions(-) diff --git a/README.md b/README.md index 11761b5..df7aa98 100644 --- a/README.md +++ b/README.md @@ -246,6 +246,7 @@ async def example(): download_record = True # 是否记录下载成功的作品 ID language = "zh_CN" # 设置程序提示语言 author_archive = True # 是否将每个作者的作品存至单独的文件夹 + write_mtime = True # 是否将作品文件的 修改时间 修改为作品的发布时间 read_cookie = None # 读取浏览器 Cookie,支持设置浏览器名称(字符串)或者浏览器序号(整数),设置为 None 代表不读取 # async with XHS() as xhs: @@ -271,12 +272,22 @@ async def example(): language=language, read_cookie=read_cookie, author_archive=author_archive, + write_mtime=write_mtime, ) as xhs: # 使用自定义参数 download = True # 是否下载作品文件,默认值:False # 返回作品详细信息,包括下载地址 # 获取数据失败时返回空字典 - print(await xhs.extract(demo_link, download, index=[1, 2])) - + print( + await xhs.extract( + demo_link, + download, + index=[ + 1, + 2, + 5, + ], + ) + )

📋 读取剪贴板

项目使用 pyperclip 实现读取剪贴板功能,该模块在不同的系统上会有差异。

@@ -406,6 +417,12 @@ async def example(): false +write_mtime +bool +是否将作品文件的 修改时间 属性修改为作品的发布时间 +false + + language str 设置程序语言,目前支持:zh_CNen_US diff --git a/README_EN.md b/README_EN.md index 917ee9c..7c32628 100644 --- a/README_EN.md +++ b/README_EN.md @@ -252,6 +252,7 @@ async def example(): download_record = True # 是否记录下载成功的作品 ID language = "zh_CN" # 设置程序提示语言 author_archive = True # 是否将每个作者的作品存至单独的文件夹 + write_mtime = True # 是否将作品文件的 修改时间 修改为作品的发布时间 read_cookie = None # 读取浏览器 Cookie,支持设置浏览器名称(字符串)或者浏览器序号(整数),设置为 None 代表不读取 # async with XHS() as xhs: @@ -277,12 +278,22 @@ async def example(): language=language, read_cookie=read_cookie, author_archive=author_archive, + write_mtime=write_mtime, ) as xhs: # 使用自定义参数 download = True # 是否下载作品文件,默认值:False # 返回作品详细信息,包括下载地址 # 获取数据失败时返回空字典 - print(await xhs.extract(demo_link, download, index=[1, 2])) - + print( + await xhs.extract( + demo_link, + download, + index=[ + 1, + 2, + 5, + ], + ) + )

📋 Read Clipboard

The project uses pyperclip to implement clipboard reading functionality, which varies across different systems.

@@ -412,6 +423,12 @@ async def example(): false +write_mtime +bool +Whether to modify the modified time attribute of the works file to the publication time of the works. +false + + language str Set program language. Currently supported: zh_CN, en_US diff --git a/example.py b/example.py index 490bf82..a7d25bf 100644 --- a/example.py +++ b/example.py @@ -30,6 +30,7 @@ async def example(): download_record = True # 是否记录下载成功的作品 ID language = "zh_CN" # 设置程序提示语言 author_archive = True # 是否将每个作者的作品存至单独的文件夹 + write_mtime = True # 是否将作品文件的 修改时间 修改为作品的发布时间 read_cookie = None # 读取浏览器 Cookie,支持设置浏览器名称(字符串)或者浏览器序号(整数),设置为 None 代表不读取 # async with XHS() as xhs: @@ -55,11 +56,22 @@ async def example(): language=language, read_cookie=read_cookie, author_archive=author_archive, + write_mtime=write_mtime, ) as xhs: # 使用自定义参数 download = True # 是否下载作品文件,默认值:False # 返回作品详细信息,包括下载地址 # 获取数据失败时返回空字典 - print(await xhs.extract(demo_link, download, index=[1, 2])) + print( + await xhs.extract( + demo_link, + download, + index=[ + 1, + 2, + 5, + ], + ) + ) async def example_api(): diff --git a/locale/en_US/LC_MESSAGES/xhs.mo b/locale/en_US/LC_MESSAGES/xhs.mo index 593e1900df7943c3b6fe327283bb58096acc670b..f80f2b6ec63540252961c6eba05f18be97971fd2 100644 GIT binary patch delta 4141 zcmai#dr(x@8Nd&qMo>}k0lwO+wW5X~QPD`#SQ0fFHBHpS1e?gZdvQ0y?q+uZ2}9Qy z)H;e_7a=OvB4`*Bg=7^KwWd#}?P#4zGVQdEtr_m_GLzIlI!&8N?DY5Dz1@&Rr)T!N zzjMw#-#Opw+-=_Ukw17dbI^W8t3oCr@24o$4)@&0gO;79R5~0F$H5tJDqLiZH^Mx| z)o?ECg!%9WoB~G-Q_2o!!zW<~PJ|!A;YtP7f9Q;4Vi=m8lhAc zoNBQU<}zMwF$l96zh&{)7H`67%>N6DL6h)C);(e}sMI<-Vv!eemf8bZs}8{F@C|GJ zn#I3B*&t>y3G2r)o&aS&-{NvOgz-iw5ph}b2jM)%VVKGJDn@4^{0xev1*4QIhQ;t# z@C=j#UdbR0uo2FHCtx9b&tiI}Qr}>_9Eu}OCAmcksk84^?#g0j9HUV+^Z zpVgKu;x7w!@otzYh7S-&*_-ir#1N z0r&uU6a&`>>D*7}H8>x3K`|%-uftEEY;GP=IF*5{9|!B;bSSxg6Rt`k za**;+L%Bkzs0r}fumJK(1=rIlq*Db8;5$%q8-ugpL@H`0TnbCzH7JU+zZv&<1suwF zHGCefhcCl3@L8Cn#Si`=WJ`4b5`A?R=E?oPMn^(+2g-{);) z35vQ3CFfBnx8V+yoKENKbRCNpLJ4^q;T;Sgw)iNNh%AHCIA0ahkqv_u4_FLCQM?Kt zf$u>%Ff&)F1#kwGaS413R>E(=URVNe!dq|=372(Ka90dm0Hp?=fRA&&+CrxYz6<3# zCC^ssJ~$IfBp!qknWy1A=!D|gVe9=L;G>LhL)mx^;VgwEa3s6}2f;r=xh*%Kr2JDD zl+ev%H_7=6P^!2QJ_K7JPN?fpJiY@L!U7h{ya!6;TA}2&2a4hELoxgY6wg10QZt!c zCAmd;P|jI1m-vffF%zUuZGmFYK`6QYB^(X^4%1;W?*AKRz!5O5AfC%?NXpeLI10{% z@_sR#4_8Bp>@JAYs@odhDj@!(RSjj8ITo=Nzuo`B-2Dk{eL3GtEC||rR!XgnV zf}&RgGhr|M9A1Uu*zX9Zc>EFM0;zvMNl9i9Z8;zdcEg$0_|Gtj@#BaaaUstmvbls< zjQuV`$(T9b3`>xwka36&A?k@H1uBtw)|%M_B@#g|k2TihFpKNpbBI_j?O{YJ`v)?h ztwzQpWk?nx?R(~v6hVoMH2E)ZARgpJq!N)PsgiWkg67vqdaLANHKJoya1|u=X4Oj_ zP=DrEOj03Xl(rs`R7n~KHn|DXq~fJX0m}E}2}Fvw9GR{p4z%nz%%|khZjJp=3UXk3 zlEFqq3bev{@e=$#@*PC-EZ0#QSyW4rC83`W$qHQ`GAQ^0qoP>b zV*U*lheo72f;FBp$A(fKy02D?H1F)Y&|`F*?>kp-oP6DA?Yw<)PwZ?sc6q1KQ5S98 zp=tuvUcFYUaqCsJMq_>Sjqd)P^+rcM>!h>q5|c*9+p*Kf3bh*D=kxe#6FMAH8$0@@ zQUB9ulWZ&sWA3IA_NM+RIn%iG<49Y3-{r$t66tI+E;fXUhC4>awr(HzCVX~yQ_=#l z?SH1pF_D%YqhVjP=}7<4x=8DhzVo|{j^^mWy8fmEv97L!X`yB5+k(fp^|x-tmPm8A z(S119wLk7^tm~N3bw2iXn}ne2tg$`Z-*PgtYip!+SL9?np^2Tk+~0C4v5eiLCt8e# z_Q;Q#qn*2r-Ubw-bv;Jo-sqvzk-f(vdv^7m+ie{BN$k?`{-#s6FTR>)aQ2ectpg*R z*e`x;>}Mfk`?0tlGTgTb&>pQ7XaMalF&GZGyq4bPE&`hHiPpzwrd?j+z zcdpk=-iA_{SBZpw(X-U7iZIT;a~IwC%dhGrjv3xqpE##Bv^AqB+vwgA>1yaZccSl7 zD+wf4bd1oep(7d3Wf7g`?zkm=mrq5S&Xc|Vmeb*XW~?5PR1jX4-IDa>GIh9ox;^0W zRcj89?$_L&fTnM8`2)F{f3wT$b-6cbUZ2OV`~7qi(U+f)(PJnKPDw_y)cSpPJl}n)Fo2lQVYkN>`;Wy^_!eIWIm|JH7k zO{N(>AHymq1`qI48(9AdKSFb6>=oGH4wO}EHoFyP&4qHnsk>Q4IRW>^dr=)$w3Q5)fGlC=7!{)Bm>`t4Heaw;LYsZ9pW?W1TmEXTDxYns_QrZKH z-)Zw}8+8mblTGM|fqcNMI}rc)DO1xd>@VMdduv;_V4z}acx=vX;mu*2Ng33%#)%D9Iy?8HFi08ZFGnGUvPo^Els#jc8*P4q_J0 zPcUXAu0a?2aWMvv`vc}nD&<@#Of)73TX78Tay*0uocB2Xh+{cVrd2r^$73ZbkrwCr zOQ;0icKjImGv9JZ!k=*>{hL3WAF{cs8z!R~b~`S`49;7f^DU11QIm8Oi}1K}{W_L% z9>uh!q8pXqLaad_s=YqUqcHn*-;BEN0P49TI0-KxIh(&ynSVWym}bmb9E<#BuA*+ZiTXVzJ#4aL4$k2E z6jZ}?Sd1^C5i3(dk-0dD$I-Y7b8#bf;z}GqwO`3P>FugTayOfCItIF^XlhO)f97`%x#;3< z%|sz8k!mCtvmKcf^9E|uet=rC@9;dC{DPX%PuNhy@i)go)QE>rOXi|++6$OcD$20R z(TjR;2hPHmkwKU~EW>_O0y*@4H_pI%tVUfwflBBcYDs^328#kdw)=?53aX0Df?lmV5Y*G1(k6P@gSkmYJ{4lrNnBYoTwunBdUp1 zLWRMZHKAJg@Q71?3duM0+Ks@q#FO+N8kybzjjWZ3ln1D^5MCmh(3(Yxrk5ANBoYgW zWkeOB4Xiz*HzQKC8MS;W31LDTcR6+SAKJB2|JSuXcNQ&&${b=YF@ew~)w-@C_^^e_ zNRIQJdIY_$_Y_V;rGV9|_Sy8=_M8lNaBs%4 z*r?Lr)vWzd!K`s%%Ywx`>zCc7}tZ9kv4K6So-U6ZHHYG`Y0^*-zMwOH$exAP8< zh_*J^ho)wV6I1JlZ_-otn1a>z$%381yy+*S?W;vE%$?`AI{nXBK98r#>hN3b9sV|t z)zRv)n!W2h?UujU@-#HITA`;cug_|*+C3W@+8R2zBh;_$D_Ib{Sn^&>xQE~tw=d>D D9@r-~ diff --git a/locale/en_US/LC_MESSAGES/xhs.po b/locale/en_US/LC_MESSAGES/xhs.po index f930307..6c8a73f 100644 --- a/locale/en_US/LC_MESSAGES/xhs.po +++ b/locale/en_US/LC_MESSAGES/xhs.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: XHS-Downloader 2.4\n" +"Project-Id-Version: XHS-Downloader 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-15 21:12+0800\n" +"POT-Creation-Date: 2025-04-20 17:31+0800\n" "PO-Revision-Date: 2024-12-22 14:14+0800\n" "Last-Translator: \n" "Language-Team: English\n" @@ -17,227 +17,231 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:158 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:178 #, python-brace-format msgid "作品 {0} 存在下载记录,跳过下载" msgstr "works {0} has a download record, skip download" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:171 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:195 msgid "提取作品文件下载地址失败" msgstr "Failed to extract the download address for the RedNote works files" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:197 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:215 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:452 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:224 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:251 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:549 msgid "提取小红书作品链接失败" msgstr "Failed to extract the links for RedNote works" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:200 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:226 #, python-brace-format msgid "共 {0} 个小红书作品待处理..." msgstr "{0} works from RedNote are awaiting processing..." -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:252 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:296 #, python-brace-format msgid "作品 {0} 存在下载记录,跳过处理" msgstr "Works {0} has a download record, skip processing" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:255 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:299 #, python-brace-format msgid "开始处理作品:{0}" msgstr "Start processing the works: {0}" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:259 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:308 #, python-brace-format msgid "{0} 获取数据失败" msgstr "{0} failed to retrieve data" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:264 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:313 #, python-brace-format msgid "{0} 提取数据失败" msgstr "{0} failed to extract data" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:266 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:75 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:13 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:315 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:83 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:13 msgid "视频" msgstr "video" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:268 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:82 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:13 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:317 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:90 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:13 msgid "图文" msgstr "image" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:273 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:323 #, python-brace-format msgid "作品处理完成:{0}" msgstr "works processing completed: {0}" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:334 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:54 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:401 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:57 msgid "" "程序会自动读取并提取剪贴板中的小红书作品链接,并自动下载链接对应的作品文件," "如需关闭,请点击关闭按钮,或者向剪贴板写入 “close” 文本!" msgstr "" -"The program will automatically read and extract the link to RedNote " -"works from the clipboard, and automatically download the corresponding work " -"file. If you want to close it, please click the close button or write the " +"The program will automatically read and extract the link to RedNote works " +"from the clipboard, and automatically download the corresponding work file. " +"If you want to close it, please click the close button or write the " "\"close\" text to the clipboard!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:464 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:562 msgid "获取小红书作品数据成功" msgstr "Successfully obtained data on RedNote works" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:466 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:564 msgid "获取小红书作品数据失败" msgstr "Failed to obtain data on RedNote works" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:118 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:130 msgid "视频作品下载功能已关闭,跳过下载" msgstr "The video download function has been turned off, skip download" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:134 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:147 msgid "图文作品下载功能已关闭,跳过下载" msgstr "The image download function has been turned off, skip download" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:162 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:170 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:182 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:193 #, python-brace-format msgid "{0} 文件已存在,跳过下载" msgstr "{0} already exists, skipping download" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:208 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:239 #, python-brace-format msgid "文件 {0} 缓存异常,重新下载" msgstr "File {0} cache exception, download again" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:231 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:267 #, python-brace-format msgid "文件 {0} 下载成功" msgstr "file {0} download successful" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:238 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:273 #, python-brace-format msgid "网络异常,{0} 下载失败,错误信息: {1}" msgstr "Network error, {0} download failed, error message: {1}" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:311 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:350 #, python-brace-format msgid "文件 {0} 格式判断失败,错误信息:{1}" msgstr "Format recognition failed for file {0}, error message: {1}" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:50 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:58 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:63 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:58 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:63 msgid "未知" msgstr "unknown" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\request.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\request.py:80 #, python-brace-format msgid "网络异常,{0} 请求失败: {1}" msgstr "Network error, {0} request failed: {1}" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:116 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:124 msgid "小红书作品链接" msgstr "Link to RedNote works" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:118 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:131 msgid "下载指定序号的图片文件,仅对图文作品生效;多个序号输入示例:\"1 3 5 7\"" msgstr "" "Download image files with specified serial numbers, only effective for image " "works; Example of multiple serial numbers input: \"1 3 5 7\"" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:119 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:33 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:136 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:30 msgid "作品数据 / 文件保存根路径" msgstr "Root path for saving works data / files" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:120 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:137 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:40 msgid "作品文件储存文件夹名称" msgstr "Name of the folder for storing works files" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:121 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:138 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:49 msgid "作品文件名称格式" msgstr "Format of works file name" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:125 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:142 msgid "小红书网页版 Cookie,无需登录" msgstr "RedNote web version cookie, no need to log in" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:126 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:46 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:143 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:78 msgid "网络代理" msgstr "Network proxy" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:127 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:48 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:144 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:88 msgid "请求数据超时限制,单位:秒" msgstr "Network request timeout limit, in seconds" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:128 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:150 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:98 msgid "下载文件时,每次从服务器获取的数据块大小,单位:字节" msgstr "" "When downloading a file, the size of the data block obtained from the server " "each time, in bytes" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:129 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:52 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:153 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:108 msgid "请求数据失败时,重试的最大次数" msgstr "The maximum number of retries when data request fails" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:130 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:154 msgid "是否记录作品数据至文件" msgstr "Record works data to file" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:131 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:159 msgid "图文作品文件下载格式,支持:PNG、WEBP" msgstr "Image works file download format, supporting: PNG, WEBP" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:132 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:161 msgid "动态图片下载开关" -msgstr "Live photo download switch" +msgstr "LivePhoto download switch" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:133 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:64 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:162 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:149 msgid "作品下载记录开关" -msgstr "Works download record switch" +msgstr "Download record switch" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:134 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:167 msgid "是否将每个作品的文件储存至单独的文件夹" -msgstr "Do you need to store the files of each works in a separate folder" +msgstr "Whether to save each work's files into separate folders" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:135 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:173 +msgid "是否将每个作者的作品储存至单独的文件夹" +msgstr "Whether to save each author's works into separate folders" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:175 msgid "设置程序语言,目前支持:zh_CN、en_US" msgstr "Set the programming language, currently supports: zh_CN、en_US" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:136 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:176 msgid "读取指定配置文件" msgstr "Read specified configuration file" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:138 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:183 #, python-brace-format msgid "从指定的浏览器读取小红书网页版 Cookie,支持:{0}; 输入浏览器名称或序号" msgstr "" "Read RedNote web version cookies from the specified browser, supporting: " "{0}; Enter browser name or serial number" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:144 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:196 msgid "是否更新配置文件" msgstr "Do you need to update the configuration file" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:145 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:197 msgid "查看详细参数说明" msgstr "View detailed parameter descriptions" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:146 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:198 msgid "查看 XHS-Downloader 版本" msgstr "View XHS Downloader Version" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:53 #, python-brace-format msgid "" "读取指定浏览器的 Cookie 并写入配置文件\n" @@ -253,89 +257,143 @@ msgstr "" "{options}\n" "Please enter your browser name or serial number:" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:49 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:63 msgid "未选择浏览器!" msgstr "Browser not selected!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:74 msgid "浏览器名称或序号输入错误!" msgstr "Browser name or serial number input error!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:80 msgid "获取 Cookie 失败,未找到 Cookie 数据!" msgstr "Failed to retrieve cookie, no cookie data found!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:99 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:118 msgid "从浏览器读取 Cookie 功能不支持当前平台!" msgstr "" "The cookie reading function from the browser is not supported on the current " "platform!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\cleaner.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\cleaner.py:45 msgid "不受支持的操作系统类型,可能无法正常去除非法字符!" msgstr "" "Unsupported operating system type, may not be able to remove illegal " "characters properly!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:204 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:226 #, python-brace-format msgid "代理 {0} 测试成功" msgstr "Agent {0} tested successfully" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:208 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:230 #, python-brace-format msgid "代理 {0} 测试超时" msgstr "Agent {0} test timeout" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:216 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:238 #, python-brace-format msgid "代理 {0} 测试失败:{1}" msgstr "Agent {0} test failed: {1}" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:26 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:37 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:26 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:22 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:57 +#, python-brace-format +msgid "{old_folder} 文件夹不存在,跳过处理" +msgstr "{old_folder} directory does not exist, skipping processing" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:86 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:108 +msgid "文件夹" +msgstr "folder" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:91 +#, python-brace-format +msgid "文件夹 {old_folder} 已重命名为 {new_folder}" +msgstr "The folder {old_folder} has been renamed to {new_folder}" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:113 +#, python-brace-format +msgid "文件夹 {old_} 重命名为 {new_}" +msgstr "The folder {old_} has been renamed to {new_}" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:186 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:201 +msgid "文件" +msgstr "file" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:191 +#, python-brace-format +msgid "文件 {old_file} 重命名为 {new_file}" +msgstr "The file {old_file} has been renamed to {new_file}" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:210 +#, python-brace-format +msgid "{type} {old}被占用,重命名失败: {error}" +msgstr "{type} {old} is occupied, renaming failed: {error}" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:219 +#, python-brace-format +msgid "{type} {new}名称重复,重命名失败: {error}" +msgstr "{type} {new} already exists, renaming failed: {error}" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:228 +#, python-brace-format +msgid "处理{type} {old}时发生预期之外的错误: {error}" +msgstr "An unexpected error occurred while processing {type} {old}: {error}" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\tools.py:31 +msgid "" +"如需重新尝试处理该对象,请关闭所有正在访问该对象的窗口或程序,然后直接按下回" +"车键!\n" +"如需跳过处理该对象,请输入任意字符后按下回车键!" +msgstr "" +"If you want to retry processing this object, please close all windows or programs currently accessing it, then press Enter directly!\n" +"If you want to skip processing this object, please enter any character and then press Enter!" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:20 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:29 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:21 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:15 msgid "退出程序" msgstr "Quit" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:30 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:21 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:30 msgid "检查更新" msgstr "Update" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:34 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:28 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:23 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:22 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:35 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:16 msgid "返回首页" msgstr "Return" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:35 msgid "如果 XHS-Downloader 对您有帮助,请考虑为它点个 Star,感谢您的支持!" msgstr "" "If XHS-Downloader is helpful to you, please consider giving it Star. Thank " "you for your support!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:49 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:42 msgid "Discord 社区" msgstr "Discord Community" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:51 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:46 msgid "邀请链接:" msgstr "Invitation link: " -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:53 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:60 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:66 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:65 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:48 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:70 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:56 msgid "点击访问" msgstr "Click to visit" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:51 msgid "作者的其他开源项目" msgstr "Other open-source projects of the author" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\app.py:62 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\app.py:74 msgid "" "配置文件 settings.json 缺少必要的参数,请删除该文件,然后重新运行程序,自动生" "成默认配置文件!" @@ -344,52 +402,52 @@ msgstr "" "delete the file and run the program again to automatically generate the " "default configuration file!" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:39 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:97 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:31 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:212 msgid "程序设置" msgstr "Settings" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:40 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:32 msgid "下载记录" msgstr "Record" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:41 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:33 msgid "开启监听" msgstr "Monitor" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:42 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:34 msgid "关于项目" msgstr "About" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:56 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:49 msgid "开源协议: " msgstr "Open source protocol: " -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:52 msgid "项目地址: " msgstr "Repository link: " -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:69 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:59 msgid "请输入小红书图文/视频作品链接" msgstr "Please enter the link to the RedNote image or video works" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:72 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:62 msgid "多个链接之间使用空格分隔" msgstr "Separate multiple links with spaces" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:74 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:64 msgid "下载无水印作品文件" msgstr "Download images/video files" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:75 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:65 msgid "读取剪贴板" msgstr "Read the clipboard" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:76 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:66 msgid "清空输入框" msgstr "Clear the input box" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:88 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:81 msgid "免责声明\n" msgstr "" "Disclaimer about XHS-Downloader:\n" @@ -429,131 +487,139 @@ msgstr "" "disclaimers mentioned above, and willingly assume all risks and consequences " "associated with using this project.\n" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:103 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:94 msgid "未输入任何小红书作品链接" msgstr "No RedNote works links provided" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:126 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:124 msgid "下载小红书作品文件失败" msgstr "Failed to download the RedNote works files" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\loading.py:18 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\loading.py:19 msgid "程序处理中..." msgstr "Processing..." -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:27 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:22 msgid "关闭监听" msgstr "Close" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:34 msgid "已启动监听剪贴板模式" msgstr "Currently in monitoring clipboard mode" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:36 msgid "退出监听剪贴板模式" msgstr "Exit monitoring clipboard mode" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:23 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:23 msgid "请输入待删除的小红书作品链接或作品 ID" msgstr "Please enter the link or ID of the RedNote works to be deleted" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:24 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:26 msgid "" "支持输入作品 ID 或包含作品 ID 的作品链接,多个链接或 ID 之间使用空格分隔" msgstr "" "Support input of works ID or links containing works ID, with multiple links " "or IDs separated by spaces" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:27 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:32 msgid "删除指定作品 ID" msgstr "Delete specified works ID" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:47 msgid "删除下载记录成功" msgstr "Successfully deleted download record" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:34 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:35 msgid "程序根路径" msgstr "Program root path" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:42 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:64 msgid "内置 Chrome User Agent" msgstr "Chrome User Agent" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:69 msgid "小红书网页版 Cookie" msgstr "RedNote Web Cookie" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:47 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:83 msgid "不使用代理" msgstr "No proxy" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:56 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:120 msgid "记录作品详细数据" msgstr "Record works data" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:57 -msgid "作品文件夹归档模式" -msgstr "Folder archiving mode" +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:125 +msgid "作品归档保存模式" +msgstr "Works Archiving Mode" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:58 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:130 msgid "视频作品下载开关" -msgstr "Video works download switch" +msgstr "Video download switch" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:59 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:135 msgid "图文作品下载开关" -msgstr "Image works download switch" +msgstr "Image download switch" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:63 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:144 msgid "动图文件下载开关" -msgstr "Live photo download switch" +msgstr "LivePhoto download switch" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:67 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:154 +msgid "作者归档保存模式" +msgstr "Author Archiving Mode" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:159 +msgid "更新文件修改时间" +msgstr "Update File Modification Time" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:167 msgid "图片下载格式" msgstr "Image download format" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:68 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:171 msgid "程序语言" msgstr "Program language" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:85 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:194 msgid "保存配置" msgstr "Save configuration" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:86 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:198 msgid "放弃更改" msgstr "Discard changes" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:93 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:208 msgid "小红书网页版 Cookie,无需登录,参数已设置" msgstr "" "RedNote web version cookie, no login required, parameters have been set" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:94 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:209 msgid "小红书网页版 Cookie,无需登录,参数未设置" msgstr "RedNote web version cookie, no login required, parameters not set" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:24 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:26 msgid "正在检查新版本,请稍等..." msgstr "Checking for new version, please wait..." -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:37 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:46 #, python-brace-format msgid "检测到新版本:{0}.{1}" msgstr "Detected new version: {0} {1}" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:54 msgid "当前版本为开发版, 可更新至正式版" msgstr "Detected a new official version" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:59 msgid "当前已是最新开发版" msgstr "You are already using the latest development version" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:64 msgid "当前已是最新正式版" msgstr "You are already using the latest official version" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:71 msgid "检测新版本失败" msgstr "Failed to check for a new version" diff --git a/locale/xhs.pot b/locale/xhs.pot index c245a06..a2a2108 100644 --- a/locale/xhs.pot +++ b/locale/xhs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: XHS-Downloader 2.4\n" +"Project-Id-Version: XHS-Downloader 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-15 21:12+0800\n" +"POT-Creation-Date: 2025-04-20 17:31+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,217 +17,221 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:158 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:178 #, python-brace-format msgid "作品 {0} 存在下载记录,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:171 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:195 msgid "提取作品文件下载地址失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:197 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:215 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:452 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:224 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:251 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:549 msgid "提取小红书作品链接失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:200 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:226 #, python-brace-format msgid "共 {0} 个小红书作品待处理..." msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:252 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:296 #, python-brace-format msgid "作品 {0} 存在下载记录,跳过处理" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:255 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:299 #, python-brace-format msgid "开始处理作品:{0}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:259 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:308 #, python-brace-format msgid "{0} 获取数据失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:264 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:313 #, python-brace-format msgid "{0} 提取数据失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:266 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:75 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:13 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:315 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:83 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:13 msgid "视频" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:268 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:82 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:13 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:317 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:90 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:13 msgid "图文" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:273 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:323 #, python-brace-format msgid "作品处理完成:{0}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:334 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:54 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:401 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:57 msgid "" "程序会自动读取并提取剪贴板中的小红书作品链接,并自动下载链接对应的作品文件," "如需关闭,请点击关闭按钮,或者向剪贴板写入 “close” 文本!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:464 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:562 msgid "获取小红书作品数据成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:466 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:564 msgid "获取小红书作品数据失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:118 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:130 msgid "视频作品下载功能已关闭,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:134 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:147 msgid "图文作品下载功能已关闭,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:162 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:170 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:182 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:193 #, python-brace-format msgid "{0} 文件已存在,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:208 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:239 #, python-brace-format msgid "文件 {0} 缓存异常,重新下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:231 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:267 #, python-brace-format msgid "文件 {0} 下载成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:238 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:273 #, python-brace-format msgid "网络异常,{0} 下载失败,错误信息: {1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:311 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:350 #, python-brace-format msgid "文件 {0} 格式判断失败,错误信息:{1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:50 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:58 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:63 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:58 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:63 msgid "未知" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\request.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\request.py:80 #, python-brace-format msgid "网络异常,{0} 请求失败: {1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:116 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:124 msgid "小红书作品链接" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:118 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:131 msgid "下载指定序号的图片文件,仅对图文作品生效;多个序号输入示例:\"1 3 5 7\"" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:119 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:33 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:136 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:30 msgid "作品数据 / 文件保存根路径" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:120 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:137 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:40 msgid "作品文件储存文件夹名称" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:121 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:138 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:49 msgid "作品文件名称格式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:125 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:142 msgid "小红书网页版 Cookie,无需登录" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:126 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:46 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:143 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:78 msgid "网络代理" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:127 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:48 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:144 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:88 msgid "请求数据超时限制,单位:秒" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:128 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:150 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:98 msgid "下载文件时,每次从服务器获取的数据块大小,单位:字节" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:129 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:52 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:153 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:108 msgid "请求数据失败时,重试的最大次数" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:130 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:154 msgid "是否记录作品数据至文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:131 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:159 msgid "图文作品文件下载格式,支持:PNG、WEBP" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:132 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:161 msgid "动态图片下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:133 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:64 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:162 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:149 msgid "作品下载记录开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:134 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:167 msgid "是否将每个作品的文件储存至单独的文件夹" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:135 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:173 +msgid "是否将每个作者的作品储存至单独的文件夹" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:175 msgid "设置程序语言,目前支持:zh_CN、en_US" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:136 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:176 msgid "读取指定配置文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:138 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:183 #, python-brace-format msgid "从指定的浏览器读取小红书网页版 Cookie,支持:{0}; 输入浏览器名称或序号" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:144 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:196 msgid "是否更新配置文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:145 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:197 msgid "查看详细参数说明" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:146 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:198 msgid "查看 XHS-Downloader 版本" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:53 #, python-brace-format msgid "" "读取指定浏览器的 Cookie 并写入配置文件\n" @@ -237,259 +241,319 @@ msgid "" "请输入浏览器名称或序号:" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:49 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:63 msgid "未选择浏览器!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:74 msgid "浏览器名称或序号输入错误!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:80 msgid "获取 Cookie 失败,未找到 Cookie 数据!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:99 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:118 msgid "从浏览器读取 Cookie 功能不支持当前平台!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\cleaner.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\cleaner.py:45 msgid "不受支持的操作系统类型,可能无法正常去除非法字符!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:204 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:226 #, python-brace-format msgid "代理 {0} 测试成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:208 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:230 #, python-brace-format msgid "代理 {0} 测试超时" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:216 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:238 #, python-brace-format msgid "代理 {0} 测试失败:{1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:26 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:37 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:26 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:22 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:57 +#, python-brace-format +msgid "{old_folder} 文件夹不存在,跳过处理" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:86 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:108 +msgid "文件夹" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:91 +#, python-brace-format +msgid "文件夹 {old_folder} 已重命名为 {new_folder}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:113 +#, python-brace-format +msgid "文件夹 {old_} 重命名为 {new_}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:186 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:201 +msgid "文件" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:191 +#, python-brace-format +msgid "文件 {old_file} 重命名为 {new_file}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:210 +#, python-brace-format +msgid "{type} {old}被占用,重命名失败: {error}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:219 +#, python-brace-format +msgid "{type} {new}名称重复,重命名失败: {error}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:228 +#, python-brace-format +msgid "处理{type} {old}时发生预期之外的错误: {error}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\tools.py:31 +msgid "" +"如需重新尝试处理该对象,请关闭所有正在访问该对象的窗口或程序,然后直接按下回" +"车键!\n" +"如需跳过处理该对象,请输入任意字符后按下回车键!" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:20 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:29 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:21 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:15 msgid "退出程序" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:30 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:21 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:30 msgid "检查更新" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:34 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:28 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:23 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:22 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:35 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:16 msgid "返回首页" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:35 msgid "如果 XHS-Downloader 对您有帮助,请考虑为它点个 Star,感谢您的支持!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:49 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:42 msgid "Discord 社区" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:51 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:46 msgid "邀请链接:" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:53 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:60 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:66 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:65 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:48 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:70 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:56 msgid "点击访问" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:51 msgid "作者的其他开源项目" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\app.py:62 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\app.py:74 msgid "" "配置文件 settings.json 缺少必要的参数,请删除该文件,然后重新运行程序,自动生" "成默认配置文件!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:39 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:97 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:31 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:212 msgid "程序设置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:40 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:32 msgid "下载记录" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:41 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:33 msgid "开启监听" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:42 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:34 msgid "关于项目" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:56 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:49 msgid "开源协议: " msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:52 msgid "项目地址: " msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:69 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:59 msgid "请输入小红书图文/视频作品链接" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:72 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:62 msgid "多个链接之间使用空格分隔" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:74 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:64 msgid "下载无水印作品文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:75 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:65 msgid "读取剪贴板" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:76 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:66 msgid "清空输入框" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:88 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:81 msgid "免责声明\n" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:103 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:94 msgid "未输入任何小红书作品链接" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:126 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:124 msgid "下载小红书作品文件失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\loading.py:18 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\loading.py:19 msgid "程序处理中..." msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:27 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:22 msgid "关闭监听" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:34 msgid "已启动监听剪贴板模式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:36 msgid "退出监听剪贴板模式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:23 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:23 msgid "请输入待删除的小红书作品链接或作品 ID" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:24 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:26 msgid "" "支持输入作品 ID 或包含作品 ID 的作品链接,多个链接或 ID 之间使用空格分隔" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:27 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:32 msgid "删除指定作品 ID" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:47 msgid "删除下载记录成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:34 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:35 msgid "程序根路径" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:42 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:64 msgid "内置 Chrome User Agent" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:69 msgid "小红书网页版 Cookie" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:47 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:83 msgid "不使用代理" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:56 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:120 msgid "记录作品详细数据" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:57 -msgid "作品文件夹归档模式" +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:125 +msgid "作品归档保存模式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:58 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:130 msgid "视频作品下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:59 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:135 msgid "图文作品下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:63 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:144 msgid "动图文件下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:67 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:154 +msgid "作者归档保存模式" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:159 +msgid "更新文件修改时间" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:167 msgid "图片下载格式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:68 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:171 msgid "程序语言" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:85 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:194 msgid "保存配置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:86 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:198 msgid "放弃更改" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:93 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:208 msgid "小红书网页版 Cookie,无需登录,参数已设置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:94 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:209 msgid "小红书网页版 Cookie,无需登录,参数未设置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:24 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:26 msgid "正在检查新版本,请稍等..." msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:37 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:46 #, python-brace-format msgid "检测到新版本:{0}.{1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:54 msgid "当前版本为开发版, 可更新至正式版" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:59 msgid "当前已是最新开发版" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:64 msgid "当前已是最新正式版" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:71 msgid "检测新版本失败" msgstr "" diff --git a/locale/zh_CN/LC_MESSAGES/xhs.mo b/locale/zh_CN/LC_MESSAGES/xhs.mo index 3f527074cfde28a074c686a91bd3e39b74e42406..0740a3758d413f26f43ab5c4f64bbb6bdcdfa7ef 100644 GIT binary patch delta 12 TcmdlWxIu723!~}AR&5Rd9$W-A delta 12 TcmdlWxIu723!}-#R&5Rd9#;f4 diff --git a/locale/zh_CN/LC_MESSAGES/xhs.po b/locale/zh_CN/LC_MESSAGES/xhs.po index 85267c9..08a2725 100644 --- a/locale/zh_CN/LC_MESSAGES/xhs.po +++ b/locale/zh_CN/LC_MESSAGES/xhs.po @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: XHS-Downloader 2.4\n" +"Project-Id-Version: XHS-Downloader 2.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-15 21:12+0800\n" +"POT-Creation-Date: 2025-04-20 17:31+0800\n" "PO-Revision-Date: 2024-12-22 14:14+0800\n" "Last-Translator: \n" "Language-Team: Chinese (simplified)\n" @@ -17,217 +17,221 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:158 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:178 #, python-brace-format msgid "作品 {0} 存在下载记录,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:171 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:195 msgid "提取作品文件下载地址失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:197 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:215 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:452 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:224 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:251 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:549 msgid "提取小红书作品链接失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:200 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:226 #, python-brace-format msgid "共 {0} 个小红书作品待处理..." msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:252 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:296 #, python-brace-format msgid "作品 {0} 存在下载记录,跳过处理" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:255 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:299 #, python-brace-format msgid "开始处理作品:{0}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:259 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:308 #, python-brace-format msgid "{0} 获取数据失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:264 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:313 #, python-brace-format msgid "{0} 提取数据失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:266 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:75 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:13 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:315 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:83 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:13 msgid "视频" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:268 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:82 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:13 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:317 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:90 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:13 msgid "图文" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:273 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:323 #, python-brace-format msgid "作品处理完成:{0}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:334 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:54 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:401 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:57 msgid "" "程序会自动读取并提取剪贴板中的小红书作品链接,并自动下载链接对应的作品文件," "如需关闭,请点击关闭按钮,或者向剪贴板写入 “close” 文本!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:464 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:562 msgid "获取小红书作品数据成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\app.py:466 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\app.py:564 msgid "获取小红书作品数据失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:118 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:130 msgid "视频作品下载功能已关闭,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:134 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:147 msgid "图文作品下载功能已关闭,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:162 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:170 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:182 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:193 #, python-brace-format msgid "{0} 文件已存在,跳过下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:208 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:239 #, python-brace-format msgid "文件 {0} 缓存异常,重新下载" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:231 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:267 #, python-brace-format msgid "文件 {0} 下载成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:238 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:273 #, python-brace-format msgid "网络异常,{0} 下载失败,错误信息: {1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\download.py:311 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\download.py:350 #, python-brace-format msgid "文件 {0} 格式判断失败,错误信息:{1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:50 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:58 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\explore.py:63 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:58 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\explore.py:63 msgid "未知" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\application\request.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\application\request.py:80 #, python-brace-format msgid "网络异常,{0} 请求失败: {1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:116 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:124 msgid "小红书作品链接" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:118 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:131 msgid "下载指定序号的图片文件,仅对图文作品生效;多个序号输入示例:\"1 3 5 7\"" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:119 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:33 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:136 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:30 msgid "作品数据 / 文件保存根路径" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:120 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:137 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:40 msgid "作品文件储存文件夹名称" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:121 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:138 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:49 msgid "作品文件名称格式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:125 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:142 msgid "小红书网页版 Cookie,无需登录" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:126 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:46 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:143 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:78 msgid "网络代理" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:127 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:48 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:144 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:88 msgid "请求数据超时限制,单位:秒" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:128 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:150 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:98 msgid "下载文件时,每次从服务器获取的数据块大小,单位:字节" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:129 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:52 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:153 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:108 msgid "请求数据失败时,重试的最大次数" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:130 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:154 msgid "是否记录作品数据至文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:131 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:159 msgid "图文作品文件下载格式,支持:PNG、WEBP" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:132 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:161 msgid "动态图片下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:133 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:64 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:162 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:149 msgid "作品下载记录开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:134 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:167 msgid "是否将每个作品的文件储存至单独的文件夹" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:135 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:173 +msgid "是否将每个作者的作品储存至单独的文件夹" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:175 msgid "设置程序语言,目前支持:zh_CN、en_US" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:136 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:176 msgid "读取指定配置文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:138 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:183 #, python-brace-format msgid "从指定的浏览器读取小红书网页版 Cookie,支持:{0}; 输入浏览器名称或序号" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:144 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:196 msgid "是否更新配置文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:145 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:197 msgid "查看详细参数说明" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\CLI\main.py:146 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\CLI\main.py:198 msgid "查看 XHS-Downloader 版本" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:53 #, python-brace-format msgid "" "读取指定浏览器的 Cookie 并写入配置文件\n" @@ -237,134 +241,186 @@ msgid "" "请输入浏览器名称或序号:" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:49 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:63 msgid "未选择浏览器!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:74 msgid "浏览器名称或序号输入错误!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:80 msgid "获取 Cookie 失败,未找到 Cookie 数据!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\browser.py:99 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\browser.py:118 msgid "从浏览器读取 Cookie 功能不支持当前平台!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\expansion\cleaner.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\expansion\cleaner.py:45 msgid "不受支持的操作系统类型,可能无法正常去除非法字符!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:204 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:226 #, python-brace-format msgid "代理 {0} 测试成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:208 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:230 #, python-brace-format msgid "代理 {0} 测试超时" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\module\manager.py:216 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\manager.py:238 #, python-brace-format msgid "代理 {0} 测试失败:{1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:26 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:37 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:26 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:22 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:57 +#, python-brace-format +msgid "{old_folder} 文件夹不存在,跳过处理" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:86 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:108 +msgid "文件夹" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:91 +#, python-brace-format +msgid "文件夹 {old_folder} 已重命名为 {new_folder}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:113 +#, python-brace-format +msgid "文件夹 {old_} 重命名为 {new_}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:186 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:201 +msgid "文件" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:191 +#, python-brace-format +msgid "文件 {old_file} 重命名为 {new_file}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:210 +#, python-brace-format +msgid "{type} {old}被占用,重命名失败: {error}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:219 +#, python-brace-format +msgid "{type} {new}名称重复,重命名失败: {error}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\mapping.py:228 +#, python-brace-format +msgid "处理{type} {old}时发生预期之外的错误: {error}" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\module\tools.py:31 +msgid "" +"如需重新尝试处理该对象,请关闭所有正在访问该对象的窗口或程序,然后直接按下回" +"车键!\n" +"如需跳过处理该对象,请输入任意字符后按下回车键!" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:20 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:29 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:21 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:15 msgid "退出程序" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:30 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:21 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:30 msgid "检查更新" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:34 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:28 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:23 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:22 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:35 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:16 msgid "返回首页" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:35 msgid "如果 XHS-Downloader 对您有帮助,请考虑为它点个 Star,感谢您的支持!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:49 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:42 msgid "Discord 社区" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:51 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:46 msgid "邀请链接:" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:53 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:60 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:66 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:65 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:48 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:70 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:56 msgid "点击访问" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\about.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\about.py:51 msgid "作者的其他开源项目" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\app.py:62 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\app.py:74 msgid "" "配置文件 settings.json 缺少必要的参数,请删除该文件,然后重新运行程序,自动生" "成默认配置文件!" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:39 -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:97 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:31 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:212 msgid "程序设置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:40 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:32 msgid "下载记录" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:41 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:33 msgid "开启监听" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:42 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:34 msgid "关于项目" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:56 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:49 msgid "开源协议: " msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:52 msgid "项目地址: " msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:69 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:59 msgid "请输入小红书图文/视频作品链接" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:72 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:62 msgid "多个链接之间使用空格分隔" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:74 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:64 msgid "下载无水印作品文件" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:75 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:65 msgid "读取剪贴板" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:76 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:66 msgid "清空输入框" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:88 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:81 msgid "免责声明\n" msgstr "" "关于 XHS-Downloader 的 免责声明:\n" @@ -390,128 +446,136 @@ msgstr "" "和功能,则视为您已完全理解并接受上述免责声明,并自愿承担使用本项目的一切风险" "和后果。\n" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:103 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:94 msgid "未输入任何小红书作品链接" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\index.py:126 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\index.py:124 msgid "下载小红书作品文件失败" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\loading.py:18 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\loading.py:19 msgid "程序处理中..." msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:27 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:22 msgid "关闭监听" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:34 msgid "已启动监听剪贴板模式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:38 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\monitor.py:36 msgid "退出监听剪贴板模式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:23 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:23 msgid "请输入待删除的小红书作品链接或作品 ID" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:24 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:26 msgid "" "支持输入作品 ID 或包含作品 ID 的作品链接,多个链接或 ID 之间使用空格分隔" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:27 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:32 msgid "删除指定作品 ID" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\record.py:36 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\record.py:47 msgid "删除下载记录成功" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:34 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:35 msgid "程序根路径" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:42 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:64 msgid "内置 Chrome User Agent" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:44 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:69 msgid "小红书网页版 Cookie" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:47 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:83 msgid "不使用代理" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:56 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:120 msgid "记录作品详细数据" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:57 -msgid "作品文件夹归档模式" +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:125 +msgid "作品归档保存模式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:58 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:130 msgid "视频作品下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:59 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:135 msgid "图文作品下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:63 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:144 msgid "动图文件下载开关" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:67 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:154 +msgid "作者归档保存模式" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:159 +msgid "更新文件修改时间" +msgstr "" + +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:167 msgid "图片下载格式" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:68 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:171 msgid "程序语言" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:85 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:194 msgid "保存配置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:86 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:198 msgid "放弃更改" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:93 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:208 msgid "小红书网页版 Cookie,无需登录,参数已设置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\setting.py:94 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\setting.py:209 msgid "小红书网页版 Cookie,无需登录,参数未设置" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:24 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:26 msgid "正在检查新版本,请稍等..." msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:37 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:46 #, python-brace-format msgid "检测到新版本:{0}.{1}" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:45 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:54 msgid "当前版本为开发版, 可更新至正式版" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:50 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:59 msgid "当前已是最新开发版" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:55 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:64 msgid "当前已是最新正式版" msgstr "" -#: C:\Users\youyq\PycharmProjects\XHS-Downloader\source\TUI\update.py:61 +#: C:\Users\You\PycharmProjects\XHS-Downloader\source\TUI\update.py:71 msgid "检测新版本失败" msgstr "" diff --git a/pyproject.toml b/pyproject.toml index 229671c..3d57440 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "XHS-Downloader" -version = "2.5.beta" +version = "2.5" description = "小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书无水印作品文件" authors = [ { name = "JoeanAmier", email = "yonglelolu@foxmail.com" }, @@ -19,7 +19,7 @@ dependencies = [ "pyperclip>=1.9.0", "pyyaml>=6.0.2", "rookiepy>=0.5.6", - "textual>=3.0.0", + "textual>=3.1.0", "uvicorn>=0.34.0", ] diff --git a/requirements.txt b/requirements.txt index 8bb8ee0..8366d63 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,11 +8,11 @@ click==8.1.8 # via xhs-downloader (pyproject.toml) emoji==2.14.1 # via xhs-downloader (pyproject.toml) -fastapi==0.115.9 +fastapi==0.115.12 # via xhs-downloader (pyproject.toml) httpx[socks]==0.28.1 # via xhs-downloader (pyproject.toml) -lxml==5.3.1 +lxml==5.3.2 # via xhs-downloader (pyproject.toml) pyperclip==1.9.0 # via xhs-downloader (pyproject.toml) @@ -20,7 +20,7 @@ pyyaml==6.0.2 # via xhs-downloader (pyproject.toml) rookiepy==0.5.6 # via xhs-downloader (pyproject.toml) -textual==3.0.0 +textual==3.1.0 # via xhs-downloader (pyproject.toml) -uvicorn==0.34.0 +uvicorn==0.34.2 # via xhs-downloader (pyproject.toml) diff --git a/source/TUI/setting.py b/source/TUI/setting.py index 28d3a25..33af312 100644 --- a/source/TUI/setting.py +++ b/source/TUI/setting.py @@ -155,6 +155,11 @@ class Setting(Screen): id="author_archive", value=self.data["author_archive"], ), + Checkbox( + _("更新文件修改时间"), + id="write_mtime", + value=self.data["write_mtime"], + ), classes="horizontal-layout", ), Container( @@ -229,6 +234,7 @@ class Setting(Screen): "live_download": self.query_one("#live_download").value, "download_record": self.query_one("#download_record").value, "author_archive": self.query_one("#author_archive").value, + "write_mtime": self.query_one("#write_mtime").value, } ) diff --git a/source/application/app.py b/source/application/app.py index e47192e..37995aa 100644 --- a/source/application/app.py +++ b/source/application/app.py @@ -103,6 +103,7 @@ class XHS: folder_mode=False, download_record=True, author_archive=False, + write_mtime=False, language="zh_CN", read_cookie: int | str = None, _print: bool = True, @@ -129,6 +130,7 @@ class XHS: download_record, folder_mode, author_archive, + write_mtime, _print, ) self.mapping_data = mapping_data or {} @@ -184,6 +186,7 @@ class XHS: + self.CLEANER.filter_name(container["作者昵称"]), name, container["作品类型"], + container["时间戳"], log, bar, ) diff --git a/source/application/download.py b/source/application/download.py index d2d20c5..61440bb 100644 --- a/source/application/download.py +++ b/source/application/download.py @@ -65,6 +65,7 @@ class Download: self.video_download = manager.video_download self.live_download = manager.live_download self.author_archive = manager.author_archive + self.write_mtime = manager.write_mtime async def run( self, @@ -74,6 +75,7 @@ class Download: nickname: str, filename: str, type_: str, + mtime: int, log, bar, ) -> tuple[Path, list[Any]]: @@ -102,6 +104,7 @@ class Download: path, name, format_, + mtime, log, bar, ) @@ -198,6 +201,7 @@ class Download: path: Path, name: str, format_: str, + mtime: int, log, bar, ): @@ -253,7 +257,12 @@ class Download: format_, log, ) - self.manager.move(temp, real) + self.manager.move( + temp, + real, + mtime, + self.write_mtime, + ) # self.__create_progress(bar, None) logging(log, _("文件 {0} 下载成功").format(real.name)) return True @@ -321,8 +330,8 @@ class Download: headers["Range"] = f"bytes={(p := self.__get_resume_byte_position(file))}-" return p + @staticmethod async def __suffix_with_file( - self, temp: Path, path: Path, name: str, diff --git a/source/application/explore.py b/source/application/explore.py index 68da201..6902b12 100644 --- a/source/application/explore.py +++ b/source/application/explore.py @@ -62,6 +62,9 @@ class Explore: if (last := data.safe_extract("lastUpdateTime")) else _("未知") ) + container["时间戳"] = ( + (time / 1000) if (time := data.safe_extract("time")) else None + ) @staticmethod def __extract_user(container: dict, data: Namespace): diff --git a/source/module/manager.py b/source/module/manager.py index 35585dc..d4701f1 100644 --- a/source/module/manager.py +++ b/source/module/manager.py @@ -1,7 +1,7 @@ from pathlib import Path from re import compile, sub from shutil import move, rmtree - +from os import utime from httpx import ( AsyncClient, AsyncHTTPTransport, @@ -65,6 +65,7 @@ class Manager: download_record: bool, folder_mode: bool, author_archive: bool, + write_mtime: bool, _print: bool, ): self.root = root @@ -117,6 +118,7 @@ class Manager: self.video_download = self.check_bool(video_download, True) self.live_download = self.check_bool(live_download, True) self.author_archive = self.check_bool(author_archive, False) + self.write_mtime = self.check_bool(write_mtime, False) def __check_path(self, path: str) -> Path: if not path: @@ -164,9 +166,21 @@ class Manager: def archive(root: Path, name: str, folder_mode: bool) -> Path: return root.joinpath(name) if folder_mode else root - @staticmethod - def move(temp: Path, path: Path): + @classmethod + def move( + cls, + temp: Path, + path: Path, + mtime: int = None, + rewrite: bool = False, + ): move(temp.resolve(), path.resolve()) + if rewrite and mtime: + cls.update_mtime(path.resolve(), mtime) + + @staticmethod + def update_mtime(file: Path, mtime: int): + utime(file, (mtime, mtime)) def __clean(self): rmtree(self.temp.resolve()) diff --git a/source/module/settings.py b/source/module/settings.py index 0fbe735..dfa829a 100644 --- a/source/module/settings.py +++ b/source/module/settings.py @@ -27,6 +27,7 @@ class Settings: "folder_mode": False, "download_record": True, "author_archive": False, + "write_mtime": False, "language": "zh_CN", } encode = "UTF-8-SIG" if system() == "Windows" else "UTF-8" diff --git a/source/module/static.py b/source/module/static.py index 5b36bb8..09c9ab3 100644 --- a/source/module/static.py +++ b/source/module/static.py @@ -2,7 +2,7 @@ from pathlib import Path VERSION_MAJOR = 2 VERSION_MINOR = 5 -VERSION_BETA = True +VERSION_BETA = False __VERSION__ = f"{VERSION_MAJOR}.{VERSION_MINOR}.{'beta' if VERSION_BETA else 'stable'}" ROOT = Path(__file__).resolve().parent.parent.parent PROJECT = f"XHS-Downloader V{VERSION_MAJOR}.{VERSION_MINOR} { diff --git a/source/translation/translate.py b/source/translation/translate.py index 349e870..94d416e 100644 --- a/source/translation/translate.py +++ b/source/translation/translate.py @@ -37,6 +37,7 @@ class TranslationManager: for s in ( "CHINESE", "ZH", + "CHINA", ) ) else "en_US" diff --git a/static/Release_Notes.md b/static/Release_Notes.md index 81ea353..5a98b1a 100644 --- a/static/Release_Notes.md +++ b/static/Release_Notes.md @@ -3,17 +3,18 @@ 1. 增加对 `JPEG` 和 `HEIC` 图片格式的支持 2. 新增启动 `监听剪贴板` 模式时清空剪贴板内容 3. 修复 `监听剪贴板` 模式可能丢失链接的问题 -4. 支持按作者归档保存作品文件 -5. 支持 API 模式设置临时代理 -6. 新增自动更新作者昵称功能 -7. 优化 `headers` 处理逻辑 -8. 优化语言代码获取逻辑 -9. 支持 `SOCKS` 代理 -10. 支持设置作者别名 +4. 支持以发布时间作为文件修改时间 +5. 支持按作者归档保存作品文件 +6. 支持 API 模式设置临时代理 +7. 新增自动更新作者昵称功能 +8. 优化 `headers` 处理逻辑 +9. 优化语言代码获取逻辑 +10. 支持 `SOCKS` 代理 +11. 支持设置作者别名 **注意:** -

配置文件新增参数 mapping_dataauthor_archive,旧版本更新需要手动添加配置内容:"mapping_data": {}, "author_archive": false;或者直接删除旧版配置文件后再运行程序!

+

配置文件新增参数 mapping_dataauthor_archivewrite_mtime,旧版本更新需要手动添加配置内容:"mapping_data": {}, "author_archive": false, "write_mtime": false;或者直接删除旧版配置文件后再运行程序!

***** diff --git a/uv.lock b/uv.lock index 722b4a1..c4b7f3e 100644 --- a/uv.lock +++ b/uv.lock @@ -22,7 +22,7 @@ wheels = [ [[package]] name = "aiohttp" -version = "3.11.14" +version = "3.11.17" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "aiohappyeyeballs" }, @@ -33,24 +33,24 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/6c/96/91e93ae5fd04d428c101cdbabce6c820d284d61d2614d00518f4fa52ea24/aiohttp-3.11.14.tar.gz", hash = "sha256:d6edc538c7480fa0a3b2bdd705f8010062d74700198da55d16498e1b49549b9c", size = 7676994 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/b0/55/9840882e8b8f83014169646638d985ba2a2b55983f6d1f4246a050221373/aiohttp-3.11.17.tar.gz", hash = "sha256:2bf3ff374c3abd7a5c6c8de3ad7ed91e0e89a8b53353314c93766c3add5a208a", size = 7679092 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/9c/ca/e4acb3b41f9e176f50960f7162d656e79bed151b1f911173b2c4a6c0a9d2/aiohttp-3.11.14-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:70ab0f61c1a73d3e0342cedd9a7321425c27a7067bebeeacd509f96695b875fc", size = 705489 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/84/d5/dcf870e0b11f0c1e3065b7f17673485afa1ddb3d630ccd8f328bccfb459f/aiohttp-3.11.14-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:602d4db80daf4497de93cb1ce00b8fc79969c0a7cf5b67bec96fa939268d806a", size = 464807 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/7c/f0/dc417d819ae26be6abcd72c28af99d285887fddbf76d4bbe46346f201870/aiohttp-3.11.14-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3a8a0d127c10b8d89e69bbd3430da0f73946d839e65fec00ae48ca7916a31948", size = 456819 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/28/db/f7deb0862ebb821aa3829db20081a122ba67ffd149303f2d5202e30f20cd/aiohttp-3.11.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9f835cdfedcb3f5947304e85b8ca3ace31eef6346d8027a97f4de5fb687534", size = 1683536 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/5e/0d/8bf0619e21c6714902c44ab53e275deb543d4d2e68ab2b7b8fe5ba267506/aiohttp-3.11.14-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8aa5c68e1e68fff7cd3142288101deb4316b51f03d50c92de6ea5ce646e6c71f", size = 1738111 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/f5/10/204b3700bb57b30b9e759d453fcfb3ad79a3eb18ece4e298aaf7917757dd/aiohttp-3.11.14-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b512f1de1c688f88dbe1b8bb1283f7fbeb7a2b2b26e743bb2193cbadfa6f307", size = 1794508 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/cc/39/3f65072614c62a315a951fda737e4d9e6e2703f1da0cd2f2d8f629e6092e/aiohttp-3.11.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc9253069158d57e27d47a8453d8a2c5a370dc461374111b5184cf2f147a3cc3", size = 1692006 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/73/77/cc06ecea173f9bee2f20c8e32e2cf4c8e03909a707183cdf95434db4993e/aiohttp-3.11.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b2501f1b981e70932b4a552fc9b3c942991c7ae429ea117e8fba57718cdeed0", size = 1620369 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/87/75/5bd424bcd90c7eb2f50fd752d013db4cefb447deeecfc5bc4e8e0b1c74dd/aiohttp-3.11.14-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:28a3d083819741592685762d51d789e6155411277050d08066537c5edc4066e6", size = 1642508 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/81/f0/ce936ec575e0569f91e5c8374086a6f7760926f16c3b95428fb55d6bfe91/aiohttp-3.11.14-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0df3788187559c262922846087e36228b75987f3ae31dd0a1e5ee1034090d42f", size = 1685771 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/68/b7/5216590b99b5b1f18989221c25ac9d9a14a7b0c3c4ae1ff728e906c36430/aiohttp-3.11.14-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e73fa341d8b308bb799cf0ab6f55fc0461d27a9fa3e4582755a3d81a6af8c09", size = 1648318 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/a5/c2/c27061c4ab93fa25f925c7ebddc10c20d992dbbc329e89d493811299dc93/aiohttp-3.11.14-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:51ba80d473eb780a329d73ac8afa44aa71dfb521693ccea1dea8b9b5c4df45ce", size = 1704545 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/09/f5/11b2da82f2c52365a5b760a4e944ae50a89cf5fb207024b7853615254584/aiohttp-3.11.14-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8d1dd75aa4d855c7debaf1ef830ff2dfcc33f893c7db0af2423ee761ebffd22b", size = 1737839 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/03/7f/145e23fe0a4c45b256f14c3268ada5497d487786334721ae8a0c818ee516/aiohttp-3.11.14-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41cf0cefd9e7b5c646c2ef529c8335e7eafd326f444cc1cdb0c47b6bc836f9be", size = 1695833 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/1c/78/627dba6ee9fb9439e2e29b521adb1135877a9c7b54811fec5c46e59f2fc8/aiohttp-3.11.14-cp312-cp312-win32.whl", hash = "sha256:948abc8952aff63de7b2c83bfe3f211c727da3a33c3a5866a0e2cf1ee1aa950f", size = 412185 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/3f/5f/1737cf6fcf0524693a4aeff8746530b65422236761e7bfdd79c6d2ce2e1c/aiohttp-3.11.14-cp312-cp312-win_amd64.whl", hash = "sha256:3b420d076a46f41ea48e5fcccb996f517af0d406267e31e6716f480a3d50d65c", size = 438526 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/86/7a/6a6b64b8a7af91d7e1ce7a759413753db7399c57492fd9ce18dfb976a584/aiohttp-3.11.17-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:03ee8b587cc7bd345552235cd7117097c169f3a531a7239dc9a3c6b6db1cf46a", size = 707924 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/b9/a0/7ac32c95a935077bdbe8d27163cc1746aecc2a7314d9426501e64e98b10b/aiohttp-3.11.17-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2bd255da118f96446567d9870621a07b8f36b1130826b07f2910ef1aeb4a85c0", size = 466686 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/c3/ad/a58380f8175866c53beee8f6b04b417c1270f67e3666c9e03f7bd85bd176/aiohttp-3.11.17-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2620d1cbeb688094045f06000b5b6127df2eb768cae07d95137b0e998cd6ce04", size = 458140 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/ad/39/f4958cc97292d867ddd194072019245cdd36039ec96436a787de76d78f14/aiohttp-3.11.17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eac3842f3258c77d35bfe93356fedbc6e5e943fd056534be71b694289b36973", size = 1696253 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/d9/36/d5f2de5a145b6687a4eed5a4672a0e2819ce099437b2125cb7a5be076c5f/aiohttp-3.11.17-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:626dffeeeee34f2b5a327df05d6cb48ecfabcb141d56590d3c779accedc62d88", size = 1736737 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/0d/4f/b94332627a22b3ed06307a51c8d15fc2f15e16fa132f7c1695b4a3ac54c1/aiohttp-3.11.17-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aded01d2bda55b2f62a361a2d55f8c9c04436eff6220e579ca7fb72cfe68b48a", size = 1789375 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/c7/6e/945de945f649c10dc90fa393717f07ba916a58d1b32362899ef791b47d5e/aiohttp-3.11.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b830715cb818efc4fbd7b9631661e3498b068f23680982d7586103333b0d4df", size = 1701347 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/92/16/8fd4198a0627d2874ae51b978493f7e0e55486982de7d7d21dd489507761/aiohttp-3.11.17-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ac7ac3d0a7ab5ce1076c788640274f594397603381747b3d4142beec004c44a", size = 1623286 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/f5/2d/739de8317f38fe35a165b111fb569c1b7ae73f22289b1a75c88ea7bbea74/aiohttp-3.11.17-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9dba68088ecdd16b306513463f7e295699bc52bb09573d2bc3ff3d0e7bdc34ff", size = 1647536 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/13/25/d53b5b4399cc3c32c1b2ee24600b97dba3e1295be7a8042f5def2a2c11f1/aiohttp-3.11.17-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:80ba863e1e1055577f27a484b0f002b31297432016262d5f9d2dab5c6d21c5ad", size = 1679021 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/c4/88/a0a54936ec50412c4237301b1136d8231b356c07ad48b74f79bd71af105a/aiohttp-3.11.17-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:003c955924fa7d1b100599ce4f5da3ce68bd151b81b5a8c18369ba585766ed31", size = 1638057 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/97/13/654ddfb8b767550452ffdf2eb9e46a1f61e2b90e258fff12a08f766902e3/aiohttp-3.11.17-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e615b94364f7ea0dc95922c351e106ffb2eded09ffd7a7102ab2e202d17bdaa", size = 1708078 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/6e/ab/a92f7e92bc0726abff6e99e0aa69ac2e3ad52f601be6045ed29607fe3761/aiohttp-3.11.17-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:05eb25fa6e5495b3866a3b974fe3b214d5a0b6bb862cd54b7ec4d997948aa12c", size = 1741360 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/d0/dd/9f5413125d9bc980bbddb817956e7d6dda5d05eba506064926bb0e017574/aiohttp-3.11.17-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3a3fb727360af3e94667e243cb21cf5069c0df9a70adcc81751136d53f526bc6", size = 1693805 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/32/ef/caa85915b5b24217d5c5af055a2e4c49305c10e6e156aeb357fee854dde2/aiohttp-3.11.17-cp312-cp312-win32.whl", hash = "sha256:93a7cfacf28887ddebd9c697d590002e8d52ac51acb4faf0d00abe1bb791339e", size = 412718 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/15/e9/e49add95584796db0e2ba47f92c436fcf9ef6832287ffa618ec1f50c8233/aiohttp-3.11.17-cp312-cp312-win_amd64.whl", hash = "sha256:c43311c94200a63e31b62e82872c6dd43fe904cbb8f161c830bfe65c17583658", size = 439786 }, ] [[package]] @@ -101,16 +101,16 @@ wheels = [ [[package]] name = "anyio" -version = "4.8.0" +version = "4.9.0" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "idna" }, { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 }, ] [[package]] @@ -163,40 +163,42 @@ wheels = [ [[package]] name = "fastapi" -version = "0.115.9" +version = "0.115.12" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "pydantic" }, { name = "starlette" }, { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/ab/dd/d854f85e70f7341b29e3fda754f2833aec197bd355f805238758e3bcd8ed/fastapi-0.115.9.tar.gz", hash = "sha256:9d7da3b196c5eed049bc769f9475cd55509a112fbe031c0ef2f53768ae68d13f", size = 293774 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/32/b6/7517af5234378518f27ad35a7b24af9591bc500b8c1780929c1295999eb6/fastapi-0.115.9-py3-none-any.whl", hash = "sha256:4a439d7923e4de796bcc88b64e9754340fcd1574673cbd865ba8a99fe0d28c56", size = 94919 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164 }, ] [[package]] name = "frozenlist" -version = "1.5.0" +version = "1.6.0" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/8f/ed/0f4cec13a93c02c47ec32d81d11c0c1efbadf4a471e3f3ce7cad366cbbd3/frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817", size = 39930 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/ee/f4/d744cba2da59b5c1d88823cf9e8a6c74e4659e2b27604ed973be2a0bf5ab/frozenlist-1.6.0.tar.gz", hash = "sha256:b99655c32c1c8e06d111e7f41c06c29a5318cb1835df23a45518e02a47c63b68", size = 42831 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/79/73/fa6d1a96ab7fd6e6d1c3500700963eab46813847f01ef0ccbaa726181dd5/frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21", size = 94026 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/ab/04/ea8bf62c8868b8eada363f20ff1b647cf2e93377a7b284d36062d21d81d1/frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d", size = 54150 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e", size = 51927 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/e3/12/2aad87deb08a4e7ccfb33600871bbe8f0e08cb6d8224371387f3303654d7/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a", size = 282647 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/77/f2/07f06b05d8a427ea0060a9cef6e63405ea9e0d761846b95ef3fb3be57111/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a", size = 289052 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/bd/9f/8bf45a2f1cd4aa401acd271b077989c9267ae8463e7c8b1eb0d3f561b65e/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee", size = 291719 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/41/d1/1f20fd05a6c42d3868709b7604c9f15538a29e4f734c694c6bcfc3d3b935/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6", size = 267433 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/af/f2/64b73a9bb86f5a89fb55450e97cd5c1f84a862d4ff90d9fd1a73ab0f64a5/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e", size = 283591 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/29/e2/ffbb1fae55a791fd6c2938dd9ea779509c977435ba3940b9f2e8dc9d5316/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9", size = 273249 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/2e/6e/008136a30798bb63618a114b9321b5971172a5abddff44a100c7edc5ad4f/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039", size = 271075 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/ae/f0/4e71e54a026b06724cec9b6c54f0b13a4e9e298cc8db0f82ec70e151f5ce/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784", size = 285398 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/4d/36/70ec246851478b1c0b59f11ef8ade9c482ff447c1363c2bd5fad45098b12/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631", size = 294445 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/37/e0/47f87544055b3349b633a03c4d94b405956cf2437f4ab46d0928b74b7526/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f", size = 280569 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/f9/7c/490133c160fb6b84ed374c266f42800e33b50c3bbab1652764e6e1fc498a/frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8", size = 44721 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/b1/56/4e45136ffc6bdbfa68c29ca56ef53783ef4c2fd395f7cbf99a2624aa9aaa/frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f", size = 51329 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/9c/8a/289b7d0de2fbac832ea80944d809759976f661557a38bb8e77db5d9f79b7/frozenlist-1.6.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c5b9e42ace7d95bf41e19b87cec8f262c41d3510d8ad7514ab3862ea2197bfb1", size = 160193 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/19/80/2fd17d322aec7f430549f0669f599997174f93ee17929ea5b92781ec902c/frozenlist-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ca9973735ce9f770d24d5484dcb42f68f135351c2fc81a7a9369e48cf2998a29", size = 123831 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/99/06/f5812da431273f78c6543e0b2f7de67dfd65eb0a433978b2c9c63d2205e4/frozenlist-1.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ac40ec76041c67b928ca8aaffba15c2b2ee3f5ae8d0cb0617b5e63ec119ca25", size = 121862 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/d0/31/9e61c6b5fc493cf24d54881731204d27105234d09878be1a5983182cc4a5/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b7a8a3180dfb280eb044fdec562f9b461614c0ef21669aea6f1d3dac6ee576", size = 316361 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/9d/55/22ca9362d4f0222324981470fd50192be200154d51509ee6eb9baa148e96/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c444d824e22da6c9291886d80c7d00c444981a72686e2b59d38b285617cb52c8", size = 307115 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/ae/39/4fff42920a57794881e7bb3898dc7f5f539261711ea411b43bba3cde8b79/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb52c8166499a8150bfd38478248572c924c003cbb45fe3bcd348e5ac7c000f9", size = 322505 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/55/f2/88c41f374c1e4cf0092a5459e5f3d6a1e17ed274c98087a76487783df90c/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b35298b2db9c2468106278537ee529719228950a5fdda686582f68f247d1dc6e", size = 322666 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/75/51/034eeb75afdf3fd03997856195b500722c0b1a50716664cde64e28299c4b/frozenlist-1.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d108e2d070034f9d57210f22fefd22ea0d04609fc97c5f7f5a686b3471028590", size = 302119 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/2b/a6/564ecde55ee633270a793999ef4fd1d2c2b32b5a7eec903b1012cb7c5143/frozenlist-1.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e1be9111cb6756868ac242b3c2bd1f09d9aea09846e4f5c23715e7afb647103", size = 316226 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/f1/c8/6c0682c32377f402b8a6174fb16378b683cf6379ab4d2827c580892ab3c7/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:94bb451c664415f02f07eef4ece976a2c65dcbab9c2f1705b7031a3a75349d8c", size = 312788 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/b6/b8/10fbec38f82c5d163ca1750bfff4ede69713badf236a016781cf1f10a0f0/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d1a686d0b0949182b8faddea596f3fc11f44768d1f74d4cad70213b2e139d821", size = 325914 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/62/ca/2bf4f3a1bd40cdedd301e6ecfdbb291080d5afc5f9ce350c0739f773d6b9/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ea8e59105d802c5a38bdbe7362822c522230b3faba2aa35c0fa1765239b7dd70", size = 305283 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/09/64/20cc13ccf94abc2a1f482f74ad210703dc78a590d0b805af1c9aa67f76f9/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:abc4e880a9b920bc5020bf6a431a6bb40589d9bca3975c980495f63632e8382f", size = 319264 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/20/ff/86c6a2bbe98cfc231519f5e6d712a0898488ceac804a917ce014f32e68f6/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a79713adfe28830f27a3c62f6b5406c37376c892b05ae070906f07ae4487046", size = 326482 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/2f/da/8e381f66367d79adca245d1d71527aac774e30e291d41ef161ce2d80c38e/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a0318c2068e217a8f5e3b85e35899f5a19e97141a45bb925bb357cfe1daf770", size = 318248 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/39/24/1a1976563fb476ab6f0fa9fefaac7616a4361dbe0461324f9fd7bf425dbe/frozenlist-1.6.0-cp312-cp312-win32.whl", hash = "sha256:853ac025092a24bb3bf09ae87f9127de9fe6e0c345614ac92536577cf956dfcc", size = 115161 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/80/2e/fb4ed62a65f8cd66044706b1013f0010930d8cbb0729a2219561ea075434/frozenlist-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:2bdfe2d7e6c9281c6e55523acd6c2bf77963cb422fdc7d142fb0cb6621b66878", size = 120548 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/71/3e/b04a0adda73bd52b390d730071c0d577073d3d26740ee1bad25c3ad0f37b/frozenlist-1.6.0-py3-none-any.whl", hash = "sha256:535eec9987adb04701266b92745d6cdcef2e77669299359c3009c3404dd5d191", size = 12404 }, ] [[package]] @@ -210,15 +212,15 @@ wheels = [ [[package]] name = "httpcore" -version = "1.0.7" +version = "1.0.8" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "certifi" }, { name = "h11" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/9f/45/ad3e1b4d448f22c0cff4f5692f5ed0666658578e358b8d58a19846048059/httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad", size = 85385 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/18/8d/f052b1e336bb2c1fc7ed1aaed898aa570c0b61a09707b108979d9fc6e308/httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be", size = 78732 }, ] [[package]] @@ -276,27 +278,27 @@ wheels = [ [[package]] name = "lxml" -version = "5.3.1" +version = "5.3.2" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/ef/f6/c15ca8e5646e937c148e147244817672cf920b56ac0bf2cc1512ae674be8/lxml-5.3.1.tar.gz", hash = "sha256:106b7b5d2977b339f1e97efe2778e2ab20e99994cbb0ec5e55771ed0795920c8", size = 3678591 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/80/61/d3dc048cd6c7be6fe45b80cedcbdd4326ba4d550375f266d9f4246d0f4bc/lxml-5.3.2.tar.gz", hash = "sha256:773947d0ed809ddad824b7b14467e1a481b8976e87278ac4a730c2f7c7fcddc1", size = 3679948 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/3b/f4/5121aa9ee8e09b8b8a28cf3709552efe3d206ca51a20d6fa471b60bb3447/lxml-5.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e69add9b6b7b08c60d7ff0152c7c9a6c45b4a71a919be5abde6f98f1ea16421c", size = 8191889 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/0a/ca/8e9aa01edddc74878f4aea85aa9ab64372f46aa804d1c36dda861bf9eabf/lxml-5.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4e52e1b148867b01c05e21837586ee307a01e793b94072d7c7b91d2c2da02ffe", size = 4450685 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/b2/b3/ea40a5c98619fbd7e9349df7007994506d396b97620ced34e4e5053d3734/lxml-5.3.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4b382e0e636ed54cd278791d93fe2c4f370772743f02bcbe431a160089025c9", size = 5051722 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/3a/5e/375418be35f8a695cadfe7e7412f16520e62e24952ed93c64c9554755464/lxml-5.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2e49dc23a10a1296b04ca9db200c44d3eb32c8d8ec532e8c1fd24792276522a", size = 4786661 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/79/7c/d258eaaa9560f6664f9b426a5165103015bee6512d8931e17342278bad0a/lxml-5.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4399b4226c4785575fb20998dc571bc48125dc92c367ce2602d0d70e0c455eb0", size = 5311766 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/03/bc/a041415be4135a1b3fdf017a5d873244cc16689456166fbdec4b27fba153/lxml-5.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5412500e0dc5481b1ee9cf6b38bb3b473f6e411eb62b83dc9b62699c3b7b79f7", size = 4836014 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/32/88/047f24967d5e3fc97848ea2c207eeef0f16239cdc47368c8b95a8dc93a33/lxml-5.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c93ed3c998ea8472be98fb55aed65b5198740bfceaec07b2eba551e55b7b9ae", size = 4961064 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/3d/b5/ecf5a20937ecd21af02c5374020f4e3a3538e10a32379a7553fca3d77094/lxml-5.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:63d57fc94eb0bbb4735e45517afc21ef262991d8758a8f2f05dd6e4174944519", size = 4778341 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/a4/05/56c359e07275911ed5f35ab1d63c8cd3360d395fb91e43927a2ae90b0322/lxml-5.3.1-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:b450d7cabcd49aa7ab46a3c6aa3ac7e1593600a1a0605ba536ec0f1b99a04322", size = 5345450 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/b7/f4/f95e3ae12e9f32fbcde00f9affa6b0df07f495117f62dbb796a9a31c84d6/lxml-5.3.1-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:4df0ec814b50275ad6a99bc82a38b59f90e10e47714ac9871e1b223895825468", size = 4908336 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/c5/f8/309546aec092434166a6e11c7dcecb5c2d0a787c18c072d61e18da9eba57/lxml-5.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d184f85ad2bb1f261eac55cddfcf62a70dee89982c978e92b9a74a1bfef2e367", size = 4986049 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/71/1c/b951817cb5058ca7c332d012dfe8bc59dabd0f0a8911ddd7b7ea8e41cfbd/lxml-5.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b725e70d15906d24615201e650d5b0388b08a5187a55f119f25874d0103f90dd", size = 4860351 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/31/23/45feba8dae1d35fcca1e51b051f59dc4223cbd23e071a31e25f3f73938a8/lxml-5.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a31fa7536ec1fb7155a0cd3a4e3d956c835ad0a43e3610ca32384d01f079ea1c", size = 5421580 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/61/69/be245d7b2dbef81c542af59c97fcd641fbf45accf2dc1c325bae7d0d014c/lxml-5.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3c3c8b55c7fc7b7e8877b9366568cc73d68b82da7fe33d8b98527b73857a225f", size = 5285778 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/69/06/128af2ed04bac99b8f83becfb74c480f1aa18407b5c329fad457e08a1bf4/lxml-5.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d61ec60945d694df806a9aec88e8f29a27293c6e424f8ff91c80416e3c617645", size = 5054455 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/8a/2d/f03a21cf6cc75cdd083563e509c7b6b159d761115c4142abb5481094ed8c/lxml-5.3.1-cp312-cp312-win32.whl", hash = "sha256:f4eac0584cdc3285ef2e74eee1513a6001681fd9753b259e8159421ed28a72e5", size = 3486315 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/2b/9c/8abe21585d20ef70ad9cec7562da4332b764ed69ec29b7389d23dfabcea0/lxml-5.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:29bfc8d3d88e56ea0a27e7c4897b642706840247f59f4377d81be8f32aa0cfbf", size = 3816925 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/0d/7e/c749257a7fabc712c4df57927b0f703507f316e9f2c7e3219f8f76d36145/lxml-5.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:16b3897691ec0316a1aa3c6585f61c8b7978475587c5b16fc1d2c28d283dc1b0", size = 8193212 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/a8/50/17e985ba162c9f1ca119f4445004b58f9e5ef559ded599b16755e9bfa260/lxml-5.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8d4b34a0eeaf6e73169dcfd653c8d47f25f09d806c010daf074fba2db5e2d3f", size = 4451439 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/c2/b5/4960ba0fcca6ce394ed4a2f89ee13083e7fcbe9641a91166e8e9792fedb1/lxml-5.3.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9cd7a959396da425022e1e4214895b5cfe7de7035a043bcc2d11303792b67554", size = 5052146 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/5f/d1/184b04481a5d1f5758916de087430752a7b229bddbd6c1d23405078c72bd/lxml-5.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cac5eaeec3549c5df7f8f97a5a6db6963b91639389cdd735d5a806370847732b", size = 4789082 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/7d/75/1a19749d373e9a3d08861addccdf50c92b628c67074b22b8f3c61997cf5a/lxml-5.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29b5f7d77334877c2146e7bb8b94e4df980325fab0a8af4d524e5d43cd6f789d", size = 5312300 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/fb/00/9d165d4060d3f347e63b219fcea5c6a3f9193e9e2868c6801e18e5379725/lxml-5.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13f3495cfec24e3d63fffd342cc8141355d1d26ee766ad388775f5c8c5ec3932", size = 4836655 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/b8/e9/06720a33cc155966448a19677f079100517b6629a872382d22ebd25e48aa/lxml-5.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e70ad4c9658beeff99856926fd3ee5fde8b519b92c693f856007177c36eb2e30", size = 4961795 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/2d/57/4540efab2673de2904746b37ef7f74385329afd4643ed92abcc9ec6e00ca/lxml-5.3.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:507085365783abd7879fa0a6fa55eddf4bdd06591b17a2418403bb3aff8a267d", size = 4779791 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/99/ad/6056edf6c9f4fa1d41e6fbdae52c733a4a257fd0d7feccfa26ae051bb46f/lxml-5.3.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:5bb304f67cbf5dfa07edad904732782cbf693286b9cd85af27059c5779131050", size = 5346807 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/a1/fa/5be91fc91a18f3f705ea5533bc2210b25d738c6b615bf1c91e71a9b2f26b/lxml-5.3.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:3d84f5c093645c21c29a4e972b84cb7cf682f707f8706484a5a0c7ff13d7a988", size = 4909213 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/f3/74/71bb96a3b5ae36b74e0402f4fa319df5559a8538577f8c57c50f1b57dc15/lxml-5.3.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:bdc13911db524bd63f37b0103af014b7161427ada41f1b0b3c9b5b5a9c1ca927", size = 4987694 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/08/c2/3953a68b0861b2f97234b1838769269478ccf872d8ea7a26e911238220ad/lxml-5.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ec944539543f66ebc060ae180d47e86aca0188bda9cbfadff47d86b0dc057dc", size = 4862865 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/e0/9a/52e48f7cfd5a5e61f44a77e679880580dfb4f077af52d6ed5dd97e3356fe/lxml-5.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:59d437cc8a7f838282df5a199cf26f97ef08f1c0fbec6e84bd6f5cc2b7913f6e", size = 5423383 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/17/67/42fe1d489e4dcc0b264bef361aef0b929fbb2b5378702471a3043bc6982c/lxml-5.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e275961adbd32e15672e14e0cc976a982075208224ce06d149c92cb43db5b93", size = 5286864 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/29/e4/03b1d040ee3aaf2bd4e1c2061de2eae1178fe9a460d3efc1ea7ef66f6011/lxml-5.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:038aeb6937aa404480c2966b7f26f1440a14005cb0702078c173c028eca72c31", size = 5056819 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/83/b3/e2ec8a6378e4d87da3af9de7c862bcea7ca624fc1a74b794180c82e30123/lxml-5.3.2-cp312-cp312-win32.whl", hash = "sha256:3c2c8d0fa3277147bff180e3590be67597e17d365ce94beb2efa3138a2131f71", size = 3486177 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/d5/8a/6a08254b0bab2da9573735725caab8302a2a1c9b3818533b41568ca489be/lxml-5.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:77809fcd97dfda3f399102db1794f7280737b69830cd5c961ac87b3c5c05662d", size = 3817134 }, ] [[package]] @@ -379,35 +381,37 @@ wheels = [ [[package]] name = "multidict" -version = "6.2.0" +version = "6.4.3" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/82/4a/7874ca44a1c9b23796c767dd94159f6c17e31c0e7d090552a1c623247d82/multidict-6.2.0.tar.gz", hash = "sha256:0085b0afb2446e57050140240a8595846ed64d1cbd26cef936bfab3192c673b8", size = 71066 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/da/2c/e367dfb4c6538614a0c9453e510d75d66099edf1c4e69da1b5ce691a1931/multidict-6.4.3.tar.gz", hash = "sha256:3ada0b058c9f213c5f95ba301f922d402ac234f1111a7d8fd70f1b99f3c281ec", size = 89372 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/a4/e2/0153a8db878aef9b2397be81e62cbc3b32ca9b94e0f700b103027db9d506/multidict-6.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:437c33561edb6eb504b5a30203daf81d4a9b727e167e78b0854d9a4e18e8950b", size = 49204 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/bb/9d/5ccb3224a976d1286f360bb4e89e67b7cdfb87336257fc99be3c17f565d7/multidict-6.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9f49585f4abadd2283034fc605961f40c638635bc60f5162276fec075f2e37a4", size = 29807 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/62/32/ef20037f51b84b074a89bab5af46d4565381c3f825fc7cbfc19c1ee156be/multidict-6.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5dd7106d064d05896ce28c97da3f46caa442fe5a43bc26dfb258e90853b39b44", size = 30000 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/97/81/b0a7560bfc3ec72606232cd7e60159e09b9cf29e66014d770c1315868fa2/multidict-6.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e25b11a0417475f093d0f0809a149aff3943c2c56da50fdf2c3c88d57fe3dfbd", size = 131820 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/49/3b/768bfc0e41179fbccd3a22925329a11755b7fdd53bec66dbf6b8772f0bce/multidict-6.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac380cacdd3b183338ba63a144a34e9044520a6fb30c58aa14077157a033c13e", size = 136272 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/71/ac/fd2be3fe98ff54e7739448f771ba730d42036de0870737db9ae34bb8efe9/multidict-6.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61d5541f27533f803a941d3a3f8a3d10ed48c12cf918f557efcbf3cd04ef265c", size = 135233 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/93/76/1657047da771315911a927b364a32dafce4135b79b64208ce4ac69525c56/multidict-6.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:facaf11f21f3a4c51b62931feb13310e6fe3475f85e20d9c9fdce0d2ea561b87", size = 132861 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/19/a5/9f07ffb9bf68b8aaa406c2abee27ad87e8b62a60551587b8e59ee91aea84/multidict-6.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:095a2eabe8c43041d3e6c2cb8287a257b5f1801c2d6ebd1dd877424f1e89cf29", size = 122166 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/95/23/b5ce3318d9d6c8f105c3679510f9d7202980545aad8eb4426313bd8da3ee/multidict-6.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a0cc398350ef31167e03f3ca7c19313d4e40a662adcb98a88755e4e861170bdd", size = 136052 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/ce/5c/02cffec58ffe120873dce520af593415b91cc324be0345f534ad3637da4e/multidict-6.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7c611345bbe7cb44aabb877cb94b63e86f2d0db03e382667dbd037866d44b4f8", size = 130094 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/49/f3/3b19a83f4ebf53a3a2a0435f3e447aa227b242ba3fd96a92404b31fb3543/multidict-6.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8cd1a0644ccaf27e9d2f6d9c9474faabee21f0578fe85225cc5af9a61e1653df", size = 140962 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/cc/1a/c916b54fb53168c24cb6a3a0795fd99d0a59a0ea93fa9f6edeff5565cb20/multidict-6.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:89b3857652183b8206a891168af47bac10b970d275bba1f6ee46565a758c078d", size = 138082 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/ef/1a/dcb7fb18f64b3727c61f432c1e1a0d52b3924016124e4bbc8a7d2e4fa57b/multidict-6.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:125dd82b40f8c06d08d87b3510beaccb88afac94e9ed4a6f6c71362dc7dbb04b", size = 136019 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/fb/02/7695485375106f5c542574f70e1968c391f86fa3efc9f1fd76aac0af7237/multidict-6.2.0-cp312-cp312-win32.whl", hash = "sha256:76b34c12b013d813e6cb325e6bd4f9c984db27758b16085926bbe7ceeaace626", size = 26676 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/3c/f5/f147000fe1f4078160157b15b0790fff0513646b0f9b7404bf34007a9b44/multidict-6.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:0b183a959fb88ad1be201de2c4bdf52fa8e46e6c185d76201286a97b6f5ee65c", size = 28899 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/9c/fd/b247aec6add5601956d440488b7f23151d8343747e82c038af37b28d6098/multidict-6.2.0-py3-none-any.whl", hash = "sha256:5d26547423e5e71dcc562c4acdc134b900640a39abd9066d7326a7cc2324c530", size = 10266 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/fc/bb/3abdaf8fe40e9226ce8a2ba5ecf332461f7beec478a455d6587159f1bf92/multidict-6.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f1c2f58f08b36f8475f3ec6f5aeb95270921d418bf18f90dffd6be5c7b0e676", size = 64019 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/7e/b5/1b2e8de8217d2e89db156625aa0fe4a6faad98972bfe07a7b8c10ef5dd6b/multidict-6.4.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:26ae9ad364fc61b936fb7bf4c9d8bd53f3a5b4417142cd0be5c509d6f767e2f1", size = 37925 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/b4/e2/3ca91c112644a395c8eae017144c907d173ea910c913ff8b62549dcf0bbf/multidict-6.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:659318c6c8a85f6ecfc06b4e57529e5a78dfdd697260cc81f683492ad7e9435a", size = 37008 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/60/23/79bc78146c7ac8d1ac766b2770ca2e07c2816058b8a3d5da6caed8148637/multidict-6.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1eb72c741fd24d5a28242ce72bb61bc91f8451877131fa3fe930edb195f7054", size = 224374 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/86/35/77950ed9ebd09136003a85c1926ba42001ca5be14feb49710e4334ee199b/multidict-6.4.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3cd06d88cb7398252284ee75c8db8e680aa0d321451132d0dba12bc995f0adcc", size = 230869 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/49/97/2a33c6e7d90bc116c636c14b2abab93d6521c0c052d24bfcc231cbf7f0e7/multidict-6.4.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4543d8dc6470a82fde92b035a92529317191ce993533c3c0c68f56811164ed07", size = 231949 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/56/ce/e9b5d9fcf854f61d6686ada7ff64893a7a5523b2a07da6f1265eaaea5151/multidict-6.4.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:30a3ebdc068c27e9d6081fca0e2c33fdf132ecea703a72ea216b81a66860adde", size = 231032 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/f0/ac/7ced59dcdfeddd03e601edb05adff0c66d81ed4a5160c443e44f2379eef0/multidict-6.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b038f10e23f277153f86f95c777ba1958bcd5993194fda26a1d06fae98b2f00c", size = 223517 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/db/e6/325ed9055ae4e085315193a1b58bdb4d7fc38ffcc1f4975cfca97d015e17/multidict-6.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c605a2b2dc14282b580454b9b5d14ebe0668381a3a26d0ac39daa0ca115eb2ae", size = 216291 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/fa/84/eeee6d477dd9dcb7691c3bb9d08df56017f5dd15c730bcc9383dcf201cf4/multidict-6.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8bd2b875f4ca2bb527fe23e318ddd509b7df163407b0fb717df229041c6df5d3", size = 228982 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/82/94/4d1f3e74e7acf8b0c85db350e012dcc61701cd6668bc2440bb1ecb423c90/multidict-6.4.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c2e98c840c9c8e65c0e04b40c6c5066c8632678cd50c8721fdbcd2e09f21a507", size = 226823 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/09/f0/1e54b95bda7cd01080e5732f9abb7b76ab5cc795b66605877caeb2197476/multidict-6.4.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66eb80dd0ab36dbd559635e62fba3083a48a252633164857a1d1684f14326427", size = 222714 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/e7/a2/f6cbca875195bd65a3e53b37ab46486f3cc125bdeab20eefe5042afa31fb/multidict-6.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c23831bdee0a2a3cf21be057b5e5326292f60472fb6c6f86392bbf0de70ba731", size = 233739 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/79/68/9891f4d2b8569554723ddd6154375295f789dc65809826c6fb96a06314fd/multidict-6.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1535cec6443bfd80d028052e9d17ba6ff8a5a3534c51d285ba56c18af97e9713", size = 230809 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/e6/72/a7be29ba1e87e4fc5ceb44dabc7940b8005fd2436a332a23547709315f70/multidict-6.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3b73e7227681f85d19dec46e5b881827cd354aabe46049e1a61d2f9aaa4e285a", size = 226934 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/12/c1/259386a9ad6840ff7afc686da96808b503d152ac4feb3a96c651dc4f5abf/multidict-6.4.3-cp312-cp312-win32.whl", hash = "sha256:8eac0c49df91b88bf91f818e0a24c1c46f3622978e2c27035bfdca98e0e18124", size = 35242 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/06/24/c8fdff4f924d37225dc0c56a28b1dca10728fc2233065fafeb27b4b125be/multidict-6.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:11990b5c757d956cd1db7cb140be50a63216af32cd6506329c2c59d732d802db", size = 38635 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/96/10/7d526c8974f017f1e7ca584c71ee62a638e9334d8d33f27d7cdfc9ae79e4/multidict-6.4.3-py3-none-any.whl", hash = "sha256:59fe01ee8e2a1e8ceb3f6dbb216b09c8d9f4ef1c22c4fc825d045a147fa2ebc9", size = 10400 }, ] [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.3.7" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499 }, ] [[package]] @@ -437,41 +441,42 @@ wheels = [ [[package]] name = "pydantic" -version = "2.10.6" +version = "2.11.3" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "annotated-types" }, { name = "pydantic-core" }, { name = "typing-extensions" }, + { name = "typing-inspection" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591 }, ] [[package]] name = "pydantic-core" -version = "2.27.2" +version = "2.33.1" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986 }, ] [[package]] @@ -508,15 +513,15 @@ wheels = [ [[package]] name = "rich" -version = "13.9.4" +version = "14.0.0" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229 }, ] [[package]] @@ -556,19 +561,19 @@ wheels = [ [[package]] name = "starlette" -version = "0.45.3" +version = "0.46.2" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/ff/fb/2984a686808b89a6781526129a4b51266f678b2d2b97ab2d325e56116df8/starlette-0.45.3.tar.gz", hash = "sha256:2cbcba2a75806f8a41c722141486f37c28e30a0921c5f6fe4346cb0dcee1302f", size = 2574076 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/d9/61/f2b52e107b1fc8944b33ef56bf6ac4ebbe16d91b94d2b87ce013bf63fb84/starlette-0.45.3-py3-none-any.whl", hash = "sha256:dfb6d332576f136ec740296c7e8bb8c8a7125044e7c6da30744718880cdd059d", size = 71507 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037 }, ] [[package]] name = "textual" -version = "3.0.0" +version = "3.1.0" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "markdown-it-py", extra = ["linkify", "plugins"] }, @@ -576,9 +581,9 @@ dependencies = [ { name = "rich" }, { name = "typing-extensions" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/28/7f/9423d4d9e1aabaa6841a7f77e2bf8249a7cae4209c4d6b33d77f55ed24c3/textual-3.0.0.tar.gz", hash = "sha256:0bf9f8523541340d5357724d60868db652fb287ac7b13e6cf4553d45a6d9a9d5", size = 1593595 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/dc/1f/df371f1455524a3d0079871e49e3850c82767904e9f4e2bdea6d30a866a7/textual-3.1.0.tar.gz", hash = "sha256:6bcab6581e9753d2a2043caf49f43c5818feb35f8049ed185bd38982bfb310ca", size = 1591879 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/d4/6c/c1c5843ef3966fa80974110a99e1ac7e30e2f084dbea58d1c8caec58f2ab/textual-3.0.0-py3-none-any.whl", hash = "sha256:21ffa46cff719338e6f34510d9249d76279af32598e311a1505285c436f35ab6", size = 681777 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/32/6b/d6d37a5fd93c344a27c53cdc4910d8d52cedd3ae63eae3d645fb108bd591/textual-3.1.0-py3-none-any.whl", hash = "sha256:940a765b6fcd562cd88603780343dc98a4e66c1d8d42f09b6a16a474a89aca0c", size = 683799 }, ] [[package]] @@ -600,7 +605,7 @@ wheels = [ [[package]] name = "textual-serve" -version = "1.1.1" +version = "1.1.2" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "aiohttp" }, @@ -609,18 +614,30 @@ dependencies = [ { name = "rich" }, { name = "textual" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/18/6c/57248070f525ea8a9a02d9f58dc2747c609b615b0bda1306aaeb80a233bd/textual_serve-1.1.1.tar.gz", hash = "sha256:71c662472c462e5e368defc660ee6e8eae3bfda88ca40c050c55474686eb0c54", size = 445957 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/27/41/09d5695b050d592ff58422be2ca5c9915787f59ff576ca91d9541d315406/textual_serve-1.1.2.tar.gz", hash = "sha256:0ccaf9b9df9c08d4b2d7a0887cad3272243ba87f68192c364f4bed5b683e4bd4", size = 892959 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/07/a9/01d35770fde8d889e1fe28b726188cf28801e57afd369c614cd2bc100ee4/textual_serve-1.1.1-py3-none-any.whl", hash = "sha256:568782f1c0e60e3f7039d9121e1cb5c2f4ca1aaf6d6bd7aeb833d5763a534cb2", size = 445034 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/7c/fb/0006f86960ab8a2f69c9f496db657992000547f94f53a2f483fd611b4bd2/textual_serve-1.1.2-py3-none-any.whl", hash = "sha256:147d56b165dccf2f387203fe58d43ce98ccad34003fe3d38e6d2bc8903861865", size = 447326 }, ] [[package]] name = "typing-extensions" -version = "4.12.2" +version = "4.13.2" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806 }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.0" +source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222 } +wheels = [ + { url = "https://mirrors.ustc.edu.cn/pypi/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125 }, ] [[package]] @@ -634,20 +651,20 @@ wheels = [ [[package]] name = "uvicorn" -version = "0.34.0" +version = "0.34.2" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "click" }, { name = "h11" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/4b/4d/938bd85e5bf2edeec766267a5015ad969730bb91e31b44021dfe8b22df6c/uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9", size = 76568 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/a6/ae/9bbb19b9e1c450cf9ecaef06463e40234d98d95bf572fab11b4f19ae5ded/uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328", size = 76815 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/b1/4b/4cef6ce21a2aaca9d852a6e84ef4f135d99fcd74fa75105e2fc0c8308acd/uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403", size = 62483 }, ] [[package]] name = "xhs-downloader" -version = "2.5b0" +version = "2.5" source = { virtual = "." } dependencies = [ { name = "aiofiles" }, @@ -681,7 +698,7 @@ requires-dist = [ { name = "pyperclip", specifier = ">=1.9.0" }, { name = "pyyaml", specifier = ">=6.0.2" }, { name = "rookiepy", specifier = ">=0.5.6" }, - { name = "textual", specifier = ">=3.0.0" }, + { name = "textual", specifier = ">=3.1.0" }, { name = "uvicorn", specifier = ">=0.34.0" }, ] @@ -690,30 +707,31 @@ dev = [{ name = "textual-dev", specifier = ">=1.7.0" }] [[package]] name = "yarl" -version = "1.18.3" +version = "1.20.0" source = { registry = "https://mirrors.ustc.edu.cn/pypi/simple" } dependencies = [ { name = "idna" }, { name = "multidict" }, { name = "propcache" }, ] -sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/b7/9d/4b94a8e6d2b51b599516a5cb88e5bc99b4d8d4583e468057eaa29d5f0918/yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1", size = 181062 } +sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/62/51/c0edba5219027f6eab262e139f73e2417b0f4efffa23bf562f6e18f76ca5/yarl-1.20.0.tar.gz", hash = "sha256:686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307", size = 185258 } wheels = [ - { url = "https://mirrors.ustc.edu.cn/pypi/packages/33/85/bd2e2729752ff4c77338e0102914897512e92496375e079ce0150a6dc306/yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50", size = 142644 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/ff/74/1178322cc0f10288d7eefa6e4a85d8d2e28187ccab13d5b844e8b5d7c88d/yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576", size = 94962 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/be/75/79c6acc0261e2c2ae8a1c41cf12265e91628c8c58ae91f5ff59e29c0787f/yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640", size = 92795 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/6b/32/927b2d67a412c31199e83fefdce6e645247b4fb164aa1ecb35a0f9eb2058/yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2", size = 332368 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/19/e5/859fca07169d6eceeaa4fde1997c91d8abde4e9a7c018e371640c2da2b71/yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75", size = 342314 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/08/75/76b63ccd91c9e03ab213ef27ae6add2e3400e77e5cdddf8ed2dbc36e3f21/yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512", size = 341987 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/1a/e1/a097d5755d3ea8479a42856f51d97eeff7a3a7160593332d98f2709b3580/yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba", size = 336914 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/0b/42/e1b4d0e396b7987feceebe565286c27bc085bf07d61a59508cdaf2d45e63/yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb", size = 325765 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/7e/18/03a5834ccc9177f97ca1bbb245b93c13e58e8225276f01eedc4cc98ab820/yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272", size = 344444 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/c8/03/a713633bdde0640b0472aa197b5b86e90fbc4c5bc05b727b714cd8a40e6d/yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6", size = 340760 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/eb/99/f6567e3f3bbad8fd101886ea0276c68ecb86a2b58be0f64077396cd4b95e/yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e", size = 346484 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/8e/a9/84717c896b2fc6cb15bd4eecd64e34a2f0a9fd6669e69170c73a8b46795a/yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb", size = 359864 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/1e/2e/d0f5f1bef7ee93ed17e739ec8dbcb47794af891f7d165fa6014517b48169/yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393", size = 364537 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/97/8a/568d07c5d4964da5b02621a517532adb8ec5ba181ad1687191fffeda0ab6/yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285", size = 357861 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/7d/e3/924c3f64b6b3077889df9a1ece1ed8947e7b61b0a933f2ec93041990a677/yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2", size = 84097 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/34/45/0e055320daaabfc169b21ff6174567b2c910c45617b0d79c68d7ab349b02/yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477", size = 90399 }, - { url = "https://mirrors.ustc.edu.cn/pypi/packages/f5/4b/a06e0ec3d155924f77835ed2d167ebd3b211a7b0853da1cf8d8414d784ef/yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b", size = 45109 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/c3/e8/3efdcb83073df978bb5b1a9cc0360ce596680e6c3fac01f2a994ccbb8939/yarl-1.20.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e06b9f6cdd772f9b665e5ba8161968e11e403774114420737f7884b5bd7bdf6f", size = 147089 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/60/c3/9e776e98ea350f76f94dd80b408eaa54e5092643dbf65fd9babcffb60509/yarl-1.20.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b9ae2fbe54d859b3ade40290f60fe40e7f969d83d482e84d2c31b9bff03e359e", size = 97706 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/0c/5b/45cdfb64a3b855ce074ae607b9fc40bc82e7613b94e7612b030255c93a09/yarl-1.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d12b8945250d80c67688602c891237994d203d42427cb14e36d1a732eda480e", size = 95719 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/2d/4e/929633b249611eeed04e2f861a14ed001acca3ef9ec2a984a757b1515889/yarl-1.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:087e9731884621b162a3e06dc0d2d626e1542a617f65ba7cc7aeab279d55ad33", size = 343972 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/49/fd/047535d326c913f1a90407a3baf7ff535b10098611eaef2c527e32e81ca1/yarl-1.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69df35468b66c1a6e6556248e6443ef0ec5f11a7a4428cf1f6281f1879220f58", size = 339639 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/48/2f/11566f1176a78f4bafb0937c0072410b1b0d3640b297944a6a7a556e1d0b/yarl-1.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2992fe29002fd0d4cbaea9428b09af9b8686a9024c840b8a2b8f4ea4abc16f", size = 353745 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/26/17/07dfcf034d6ae8837b33988be66045dd52f878dfb1c4e8f80a7343f677be/yarl-1.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4c903e0b42aab48abfbac668b5a9d7b6938e721a6341751331bcd7553de2dcae", size = 354178 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/15/45/212604d3142d84b4065d5f8cab6582ed3d78e4cc250568ef2a36fe1cf0a5/yarl-1.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf099e2432131093cc611623e0b0bcc399b8cddd9a91eded8bfb50402ec35018", size = 349219 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/e6/e0/a10b30f294111c5f1c682461e9459935c17d467a760c21e1f7db400ff499/yarl-1.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7f62f5dc70a6c763bec9ebf922be52aa22863d9496a9a30124d65b489ea672", size = 337266 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/33/a6/6efa1d85a675d25a46a167f9f3e80104cde317dfdf7f53f112ae6b16a60a/yarl-1.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:54ac15a8b60382b2bcefd9a289ee26dc0920cf59b05368c9b2b72450751c6eb8", size = 360873 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/77/67/c8ab718cb98dfa2ae9ba0f97bf3cbb7d45d37f13fe1fbad25ac92940954e/yarl-1.20.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:25b3bc0763a7aca16a0f1b5e8ef0f23829df11fb539a1b70476dcab28bd83da7", size = 360524 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/bd/e8/c3f18660cea1bc73d9f8a2b3ef423def8dadbbae6c4afabdb920b73e0ead/yarl-1.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2586e36dc070fc8fad6270f93242124df68b379c3a251af534030a4a33ef594", size = 365370 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/c9/99/33f3b97b065e62ff2d52817155a89cfa030a1a9b43fee7843ef560ad9603/yarl-1.20.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:866349da9d8c5290cfefb7fcc47721e94de3f315433613e01b435473be63daa6", size = 373297 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/3d/89/7519e79e264a5f08653d2446b26d4724b01198a93a74d2e259291d538ab1/yarl-1.20.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:33bb660b390a0554d41f8ebec5cd4475502d84104b27e9b42f5321c5192bfcd1", size = 378771 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/3a/58/6c460bbb884abd2917c3eef6f663a4a873f8dc6f498561fc0ad92231c113/yarl-1.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:737e9f171e5a07031cbee5e9180f6ce21a6c599b9d4b2c24d35df20a52fabf4b", size = 375000 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/3b/2a/dd7ed1aa23fea996834278d7ff178f215b24324ee527df53d45e34d21d28/yarl-1.20.0-cp312-cp312-win32.whl", hash = "sha256:839de4c574169b6598d47ad61534e6981979ca2c820ccb77bf70f4311dd2cc64", size = 86355 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/ca/c6/333fe0338305c0ac1c16d5aa7cc4841208d3252bbe62172e0051006b5445/yarl-1.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:3d7dbbe44b443b0c4aa0971cb07dcb2c2060e4a9bf8d1301140a33a93c98e18c", size = 92904 }, + { url = "https://mirrors.ustc.edu.cn/pypi/packages/ea/1f/70c57b3d7278e94ed22d85e09685d3f0a38ebdd8c5c73b65ba4c0d0fe002/yarl-1.20.0-py3-none-any.whl", hash = "sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124", size = 46124 }, ]