novel-downloader 1.5.0__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. novel_downloader/__init__.py +1 -1
  2. novel_downloader/cli/__init__.py +1 -3
  3. novel_downloader/cli/clean.py +21 -88
  4. novel_downloader/cli/config.py +26 -21
  5. novel_downloader/cli/download.py +77 -64
  6. novel_downloader/cli/export.py +16 -20
  7. novel_downloader/cli/main.py +1 -1
  8. novel_downloader/cli/search.py +62 -65
  9. novel_downloader/cli/ui.py +156 -0
  10. novel_downloader/config/__init__.py +8 -5
  11. novel_downloader/config/adapter.py +65 -105
  12. novel_downloader/config/{loader.py → file_io.py} +53 -26
  13. novel_downloader/core/__init__.py +1 -0
  14. novel_downloader/core/archived/deqixs/fetcher.py +115 -0
  15. novel_downloader/core/archived/deqixs/parser.py +132 -0
  16. novel_downloader/core/archived/deqixs/searcher.py +89 -0
  17. novel_downloader/core/{searchers/qidian.py → archived/qidian/searcher.py} +12 -20
  18. novel_downloader/core/archived/wanbengo/searcher.py +98 -0
  19. novel_downloader/core/archived/xshbook/searcher.py +93 -0
  20. novel_downloader/core/downloaders/__init__.py +3 -24
  21. novel_downloader/core/downloaders/base.py +49 -23
  22. novel_downloader/core/downloaders/common.py +191 -137
  23. novel_downloader/core/downloaders/qianbi.py +187 -146
  24. novel_downloader/core/downloaders/qidian.py +187 -141
  25. novel_downloader/core/downloaders/registry.py +4 -2
  26. novel_downloader/core/downloaders/signals.py +46 -0
  27. novel_downloader/core/exporters/__init__.py +3 -20
  28. novel_downloader/core/exporters/base.py +33 -37
  29. novel_downloader/core/exporters/common/__init__.py +1 -2
  30. novel_downloader/core/exporters/common/epub.py +15 -10
  31. novel_downloader/core/exporters/common/main_exporter.py +19 -12
  32. novel_downloader/core/exporters/common/txt.py +14 -9
  33. novel_downloader/core/exporters/epub_util.py +59 -29
  34. novel_downloader/core/exporters/linovelib/__init__.py +1 -0
  35. novel_downloader/core/exporters/linovelib/epub.py +23 -25
  36. novel_downloader/core/exporters/linovelib/main_exporter.py +8 -12
  37. novel_downloader/core/exporters/linovelib/txt.py +17 -11
  38. novel_downloader/core/exporters/qidian.py +2 -8
  39. novel_downloader/core/exporters/registry.py +4 -2
  40. novel_downloader/core/exporters/txt_util.py +7 -7
  41. novel_downloader/core/fetchers/__init__.py +54 -48
  42. novel_downloader/core/fetchers/aaatxt.py +83 -0
  43. novel_downloader/core/fetchers/{biquge/session.py → b520.py} +6 -11
  44. novel_downloader/core/fetchers/{base/session.py → base.py} +37 -46
  45. novel_downloader/core/fetchers/{biquge/browser.py → biquyuedu.py} +12 -17
  46. novel_downloader/core/fetchers/dxmwx.py +110 -0
  47. novel_downloader/core/fetchers/eightnovel.py +139 -0
  48. novel_downloader/core/fetchers/{esjzone/session.py → esjzone.py} +19 -12
  49. novel_downloader/core/fetchers/guidaye.py +85 -0
  50. novel_downloader/core/fetchers/hetushu.py +92 -0
  51. novel_downloader/core/fetchers/{qianbi/browser.py → i25zw.py} +19 -28
  52. novel_downloader/core/fetchers/ixdzs8.py +113 -0
  53. novel_downloader/core/fetchers/jpxs123.py +101 -0
  54. novel_downloader/core/fetchers/lewenn.py +83 -0
  55. novel_downloader/core/fetchers/{linovelib/session.py → linovelib.py} +12 -13
  56. novel_downloader/core/fetchers/piaotia.py +105 -0
  57. novel_downloader/core/fetchers/qbtr.py +101 -0
  58. novel_downloader/core/fetchers/{qianbi/session.py → qianbi.py} +5 -10
  59. novel_downloader/core/fetchers/{qidian/session.py → qidian.py} +46 -39
  60. novel_downloader/core/fetchers/quanben5.py +92 -0
  61. novel_downloader/core/fetchers/{base/rate_limiter.py → rate_limiter.py} +2 -2
  62. novel_downloader/core/fetchers/registry.py +5 -16
  63. novel_downloader/core/fetchers/{sfacg/session.py → sfacg.py} +7 -10
  64. novel_downloader/core/fetchers/shencou.py +106 -0
  65. novel_downloader/core/fetchers/shuhaige.py +84 -0
  66. novel_downloader/core/fetchers/tongrenquan.py +84 -0
  67. novel_downloader/core/fetchers/ttkan.py +95 -0
  68. novel_downloader/core/fetchers/wanbengo.py +83 -0
  69. novel_downloader/core/fetchers/xiaoshuowu.py +106 -0
  70. novel_downloader/core/fetchers/xiguashuwu.py +177 -0
  71. novel_downloader/core/fetchers/xs63b.py +171 -0
  72. novel_downloader/core/fetchers/xshbook.py +85 -0
  73. novel_downloader/core/fetchers/{yamibo/session.py → yamibo.py} +19 -12
  74. novel_downloader/core/fetchers/yibige.py +114 -0
  75. novel_downloader/core/interfaces/__init__.py +1 -9
  76. novel_downloader/core/interfaces/downloader.py +6 -2
  77. novel_downloader/core/interfaces/exporter.py +7 -7
  78. novel_downloader/core/interfaces/fetcher.py +4 -17
  79. novel_downloader/core/interfaces/parser.py +5 -6
  80. novel_downloader/core/interfaces/searcher.py +9 -1
  81. novel_downloader/core/parsers/__init__.py +49 -12
  82. novel_downloader/core/parsers/aaatxt.py +132 -0
  83. novel_downloader/core/parsers/b520.py +116 -0
  84. novel_downloader/core/parsers/base.py +63 -12
  85. novel_downloader/core/parsers/biquyuedu.py +133 -0
  86. novel_downloader/core/parsers/dxmwx.py +162 -0
  87. novel_downloader/core/parsers/eightnovel.py +224 -0
  88. novel_downloader/core/parsers/esjzone.py +61 -66
  89. novel_downloader/core/parsers/guidaye.py +128 -0
  90. novel_downloader/core/parsers/hetushu.py +139 -0
  91. novel_downloader/core/parsers/i25zw.py +137 -0
  92. novel_downloader/core/parsers/ixdzs8.py +186 -0
  93. novel_downloader/core/parsers/jpxs123.py +137 -0
  94. novel_downloader/core/parsers/lewenn.py +142 -0
  95. novel_downloader/core/parsers/linovelib.py +48 -64
  96. novel_downloader/core/parsers/piaotia.py +189 -0
  97. novel_downloader/core/parsers/qbtr.py +136 -0
  98. novel_downloader/core/parsers/qianbi.py +48 -50
  99. novel_downloader/core/parsers/qidian/book_info_parser.py +58 -59
  100. novel_downloader/core/parsers/qidian/chapter_encrypted.py +272 -330
  101. novel_downloader/core/parsers/qidian/chapter_normal.py +24 -55
  102. novel_downloader/core/parsers/qidian/main_parser.py +11 -38
  103. novel_downloader/core/parsers/qidian/utils/__init__.py +1 -0
  104. novel_downloader/core/parsers/qidian/utils/decryptor_fetcher.py +1 -1
  105. novel_downloader/core/parsers/qidian/utils/fontmap_recover.py +143 -0
  106. novel_downloader/core/parsers/qidian/utils/helpers.py +0 -4
  107. novel_downloader/core/parsers/quanben5.py +103 -0
  108. novel_downloader/core/parsers/registry.py +5 -16
  109. novel_downloader/core/parsers/sfacg.py +38 -45
  110. novel_downloader/core/parsers/shencou.py +215 -0
  111. novel_downloader/core/parsers/shuhaige.py +111 -0
  112. novel_downloader/core/parsers/tongrenquan.py +116 -0
  113. novel_downloader/core/parsers/ttkan.py +132 -0
  114. novel_downloader/core/parsers/wanbengo.py +191 -0
  115. novel_downloader/core/parsers/xiaoshuowu.py +173 -0
  116. novel_downloader/core/parsers/xiguashuwu.py +435 -0
  117. novel_downloader/core/parsers/xs63b.py +161 -0
  118. novel_downloader/core/parsers/xshbook.py +134 -0
  119. novel_downloader/core/parsers/yamibo.py +87 -131
  120. novel_downloader/core/parsers/yibige.py +166 -0
  121. novel_downloader/core/searchers/__init__.py +34 -3
  122. novel_downloader/core/searchers/aaatxt.py +107 -0
  123. novel_downloader/core/searchers/{biquge.py → b520.py} +29 -28
  124. novel_downloader/core/searchers/base.py +112 -36
  125. novel_downloader/core/searchers/dxmwx.py +105 -0
  126. novel_downloader/core/searchers/eightnovel.py +84 -0
  127. novel_downloader/core/searchers/esjzone.py +43 -25
  128. novel_downloader/core/searchers/hetushu.py +92 -0
  129. novel_downloader/core/searchers/i25zw.py +93 -0
  130. novel_downloader/core/searchers/ixdzs8.py +107 -0
  131. novel_downloader/core/searchers/jpxs123.py +107 -0
  132. novel_downloader/core/searchers/piaotia.py +100 -0
  133. novel_downloader/core/searchers/qbtr.py +106 -0
  134. novel_downloader/core/searchers/qianbi.py +74 -40
  135. novel_downloader/core/searchers/quanben5.py +144 -0
  136. novel_downloader/core/searchers/registry.py +24 -8
  137. novel_downloader/core/searchers/shuhaige.py +124 -0
  138. novel_downloader/core/searchers/tongrenquan.py +110 -0
  139. novel_downloader/core/searchers/ttkan.py +92 -0
  140. novel_downloader/core/searchers/xiaoshuowu.py +122 -0
  141. novel_downloader/core/searchers/xiguashuwu.py +95 -0
  142. novel_downloader/core/searchers/xs63b.py +104 -0
  143. novel_downloader/locales/en.json +31 -82
  144. novel_downloader/locales/zh.json +32 -83
  145. novel_downloader/models/__init__.py +21 -22
  146. novel_downloader/models/book.py +44 -0
  147. novel_downloader/models/config.py +4 -37
  148. novel_downloader/models/login.py +1 -1
  149. novel_downloader/models/search.py +5 -0
  150. novel_downloader/resources/config/settings.toml +8 -70
  151. novel_downloader/resources/json/xiguashuwu.json +718 -0
  152. novel_downloader/utils/__init__.py +13 -22
  153. novel_downloader/utils/chapter_storage.py +3 -2
  154. novel_downloader/utils/constants.py +4 -29
  155. novel_downloader/utils/cookies.py +6 -18
  156. novel_downloader/utils/crypto_utils/__init__.py +13 -0
  157. novel_downloader/utils/crypto_utils/aes_util.py +90 -0
  158. novel_downloader/utils/crypto_utils/aes_v1.py +619 -0
  159. novel_downloader/utils/crypto_utils/aes_v2.py +1143 -0
  160. novel_downloader/utils/{crypto_utils.py → crypto_utils/rc4.py} +3 -10
  161. novel_downloader/utils/epub/__init__.py +1 -1
  162. novel_downloader/utils/epub/constants.py +57 -16
  163. novel_downloader/utils/epub/documents.py +88 -194
  164. novel_downloader/utils/epub/models.py +0 -14
  165. novel_downloader/utils/epub/utils.py +63 -96
  166. novel_downloader/utils/file_utils/__init__.py +2 -23
  167. novel_downloader/utils/file_utils/io.py +3 -113
  168. novel_downloader/utils/file_utils/sanitize.py +0 -4
  169. novel_downloader/utils/fontocr.py +207 -0
  170. novel_downloader/utils/logger.py +8 -16
  171. novel_downloader/utils/network.py +2 -2
  172. novel_downloader/utils/state.py +4 -90
  173. novel_downloader/utils/text_utils/__init__.py +1 -7
  174. novel_downloader/utils/text_utils/diff_display.py +5 -7
  175. novel_downloader/utils/time_utils/__init__.py +5 -11
  176. novel_downloader/utils/time_utils/datetime_utils.py +20 -29
  177. novel_downloader/utils/time_utils/sleep_utils.py +4 -8
  178. novel_downloader/web/__init__.py +13 -0
  179. novel_downloader/web/components/__init__.py +11 -0
  180. novel_downloader/web/components/navigation.py +35 -0
  181. novel_downloader/web/main.py +66 -0
  182. novel_downloader/web/pages/__init__.py +17 -0
  183. novel_downloader/web/pages/download.py +78 -0
  184. novel_downloader/web/pages/progress.py +147 -0
  185. novel_downloader/web/pages/search.py +329 -0
  186. novel_downloader/web/services/__init__.py +17 -0
  187. novel_downloader/web/services/client_dialog.py +164 -0
  188. novel_downloader/web/services/cred_broker.py +113 -0
  189. novel_downloader/web/services/cred_models.py +35 -0
  190. novel_downloader/web/services/task_manager.py +264 -0
  191. novel_downloader-2.0.0.dist-info/METADATA +171 -0
  192. novel_downloader-2.0.0.dist-info/RECORD +210 -0
  193. {novel_downloader-1.5.0.dist-info → novel_downloader-2.0.0.dist-info}/entry_points.txt +1 -1
  194. novel_downloader/core/downloaders/biquge.py +0 -29
  195. novel_downloader/core/downloaders/esjzone.py +0 -29
  196. novel_downloader/core/downloaders/linovelib.py +0 -29
  197. novel_downloader/core/downloaders/sfacg.py +0 -29
  198. novel_downloader/core/downloaders/yamibo.py +0 -29
  199. novel_downloader/core/exporters/biquge.py +0 -22
  200. novel_downloader/core/exporters/esjzone.py +0 -22
  201. novel_downloader/core/exporters/qianbi.py +0 -22
  202. novel_downloader/core/exporters/sfacg.py +0 -22
  203. novel_downloader/core/exporters/yamibo.py +0 -22
  204. novel_downloader/core/fetchers/base/__init__.py +0 -14
  205. novel_downloader/core/fetchers/base/browser.py +0 -422
  206. novel_downloader/core/fetchers/biquge/__init__.py +0 -14
  207. novel_downloader/core/fetchers/esjzone/__init__.py +0 -14
  208. novel_downloader/core/fetchers/esjzone/browser.py +0 -209
  209. novel_downloader/core/fetchers/linovelib/__init__.py +0 -14
  210. novel_downloader/core/fetchers/linovelib/browser.py +0 -198
  211. novel_downloader/core/fetchers/qianbi/__init__.py +0 -14
  212. novel_downloader/core/fetchers/qidian/__init__.py +0 -14
  213. novel_downloader/core/fetchers/qidian/browser.py +0 -326
  214. novel_downloader/core/fetchers/sfacg/__init__.py +0 -14
  215. novel_downloader/core/fetchers/sfacg/browser.py +0 -194
  216. novel_downloader/core/fetchers/yamibo/__init__.py +0 -14
  217. novel_downloader/core/fetchers/yamibo/browser.py +0 -234
  218. novel_downloader/core/parsers/biquge.py +0 -139
  219. novel_downloader/models/chapter.py +0 -25
  220. novel_downloader/models/types.py +0 -13
  221. novel_downloader/tui/__init__.py +0 -7
  222. novel_downloader/tui/app.py +0 -32
  223. novel_downloader/tui/main.py +0 -17
  224. novel_downloader/tui/screens/__init__.py +0 -14
  225. novel_downloader/tui/screens/home.py +0 -198
  226. novel_downloader/tui/screens/login.py +0 -74
  227. novel_downloader/tui/styles/home_layout.tcss +0 -79
  228. novel_downloader/tui/widgets/richlog_handler.py +0 -24
  229. novel_downloader/utils/cache.py +0 -24
  230. novel_downloader/utils/fontocr/__init__.py +0 -22
  231. novel_downloader/utils/fontocr/hash_store.py +0 -280
  232. novel_downloader/utils/fontocr/hash_utils.py +0 -103
  233. novel_downloader/utils/fontocr/model_loader.py +0 -69
  234. novel_downloader/utils/fontocr/ocr_v1.py +0 -315
  235. novel_downloader/utils/fontocr/ocr_v2.py +0 -764
  236. novel_downloader/utils/fontocr/ocr_v3.py +0 -744
  237. novel_downloader-1.5.0.dist-info/METADATA +0 -196
  238. novel_downloader-1.5.0.dist-info/RECORD +0 -164
  239. {novel_downloader-1.5.0.dist-info → novel_downloader-2.0.0.dist-info}/WHEEL +0 -0
  240. {novel_downloader-1.5.0.dist-info → novel_downloader-2.0.0.dist-info}/licenses/LICENSE +0 -0
  241. {novel_downloader-1.5.0.dist-info → novel_downloader-2.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,210 @@
1
+ novel_downloader/__init__.py,sha256=gvhm67MQNWoL_G7z3QqXrhgp7Cw3xc5KqU8-UpCKQ0s,218
2
+ novel_downloader/cli/__init__.py,sha256=okUd_09fBWx8lz3zx3329dIK0xNRlNQJkUzDXYoSE1U,167
3
+ novel_downloader/cli/clean.py,sha256=VaiJox75-ZuXvSDFMaiAUawEbdtuEUsnsVWZGKuirJ4,2395
4
+ novel_downloader/cli/config.py,sha256=W4-f59dK5jdlg_9XDwGIyzd6VtpyNpB9U4qcxfso8Xg,3598
5
+ novel_downloader/cli/download.py,sha256=-59icT24iU_l6LhAJqQaxLAogJAr0hRxd-_RfcjQbdI,7587
6
+ novel_downloader/cli/export.py,sha256=iSIbSXreYRTs_KfZS4eJ0cJoMgoutwdza88JGoxQMlw,2573
7
+ novel_downloader/cli/main.py,sha256=GKtxeumw_VvWManp52Am538jL2t7xz7yVrGIaxrvSVk,1009
8
+ novel_downloader/cli/search.py,sha256=_Ci4fa1ECiYmBZI2OZBxzwddYGIvdUyIp4AOIJiL1Ds,3641
9
+ novel_downloader/cli/ui.py,sha256=Gme3J4M_eK23cDWepMs8-c0zfIanSSXERnYSWYkerE4,3992
10
+ novel_downloader/config/__init__.py,sha256=gwaDMlcBX7Lw8Hi8dY2HxNEt9ysMhIFNhkziyjramWo,405
11
+ novel_downloader/config/adapter.py,sha256=Y8Dt5GflbCiOwjBbTN7D3O5JPnkssbJDYGtYOYzEt1M,11561
12
+ novel_downloader/config/file_io.py,sha256=ncKk7rj07UnYYVEPR_RHS2D5igMSv8xaHySNvJQWhB8,6495
13
+ novel_downloader/core/__init__.py,sha256=20zZKxemHFQv8noyftPTcen6Okq-AJS5GIlwn8Zc7AA,1157
14
+ novel_downloader/core/archived/deqixs/fetcher.py,sha256=JGTLWI-d5jLULB-vS2VUeajwp7tHlb9trUCF4lJrdiQ,3432
15
+ novel_downloader/core/archived/deqixs/parser.py,sha256=udM6MYdunPVYwUNjEoBDjffHR_SsXPvv_EqsCMJJVrE,4169
16
+ novel_downloader/core/archived/deqixs/searcher.py,sha256=ezXCQ0pM8AqmTXmkzLrOSebTvHg_GouIywIE23c5hwY,2920
17
+ novel_downloader/core/archived/qidian/searcher.py,sha256=Q0-MdYfO-NrFW7rhF92lXk8EX1Gdcmp_gYzhcM06cLU,2460
18
+ novel_downloader/core/archived/wanbengo/searcher.py,sha256=RAXHENGgqGzWRop3N4_PPlRB7JdUZotQqKaA2RRrzZM,3056
19
+ novel_downloader/core/archived/xshbook/searcher.py,sha256=pfyVPl7DP_cq0mjIIyOkQPKZL-piOTO5agSSPeY4Qi4,2915
20
+ novel_downloader/core/downloaders/__init__.py,sha256=r1Ipy4AMc_sBYo14pUPYkLu7eN1g_6UJ9O2gfQLcAB8,430
21
+ novel_downloader/core/downloaders/base.py,sha256=mCyMG3Iwvursm3ACCYK2Vr45nDqr73V1awOfL7kSXTs,11526
22
+ novel_downloader/core/downloaders/common.py,sha256=hqffXUjci3CLvs9d0jCYwrYvDHdJUDpzWn2wjHTuS50,10062
23
+ novel_downloader/core/downloaders/qianbi.py,sha256=sqil69--GhAqfFzZxQG3ZeKZavWEy8qTcM0Li4FCJy4,12506
24
+ novel_downloader/core/downloaders/qidian.py,sha256=LEFx1F5GS62qpDKMa_z7CxT0txUEQ-vY51vgAEQG5o0,11924
25
+ novel_downloader/core/downloaders/registry.py,sha256=7Fahoix4SeWOgN5D0D8TSiXRsRX4XmQKuaDvFn7fK5s,1887
26
+ novel_downloader/core/downloaders/signals.py,sha256=fgiSH8iRqkNqyI7pZX-hfJEOMY1KbXB1lT49eSJyHqQ,1093
27
+ novel_downloader/core/exporters/__init__.py,sha256=Kobscd3cnOeXZg7M7trOoN_xmx-y517VN2Atsosx0LM,433
28
+ novel_downloader/core/exporters/base.py,sha256=kYUU2kMP3E1u0bczG4FCIogoJHlgKkRp7MdHtnsi4wI,8486
29
+ novel_downloader/core/exporters/epub_util.py,sha256=eFig6ZNCl95NkbLDmz8z-ZEmmJ9OECwlTZSfUwFVThU,6048
30
+ novel_downloader/core/exporters/qidian.py,sha256=cRVrFhntaM0nXHZUzn40SzsFrUQakPBK9wRD06VpLOc,747
31
+ novel_downloader/core/exporters/registry.py,sha256=kWy6zxTwGQ8kBto0h3lNIDj2a0pdHPaTwJyldGalICA,1552
32
+ novel_downloader/core/exporters/txt_util.py,sha256=-pkwMFh-69FHEziTW4LiW3-u6f1GqV973F7zH8fXZxA,1987
33
+ novel_downloader/core/exporters/common/__init__.py,sha256=8qVMdtM_hLo3D3bMMQYYL10I0evHy1BgaceqOMTu9OE,259
34
+ novel_downloader/core/exporters/common/epub.py,sha256=OZV8KCE9otYLjlDKEogFQ5KElUAXGJwV5zSCtm59FOw,5961
35
+ novel_downloader/core/exporters/common/main_exporter.py,sha256=uBx67rBaeijZWt3cZDR7xipf-P_3ShyypZROxe8CjEQ,2165
36
+ novel_downloader/core/exporters/common/txt.py,sha256=Nzzo60ksECYkBvjSooZYPUFNbeD7hbz6jmTUSYVhHxk,4721
37
+ novel_downloader/core/exporters/linovelib/__init__.py,sha256=AFjdUyFalrU8n_OjxqYENZ5zVcfYPONgWbvFkI0Sgls,250
38
+ novel_downloader/core/exporters/linovelib/epub.py,sha256=BiYgX61lZdgYeipnNuzMHmAjjSXnofs1eKoPR9UduDg,10703
39
+ novel_downloader/core/exporters/linovelib/main_exporter.py,sha256=qFMKfPobNWTDzW8CLr6FcNpkdqAuH5PMjqAQA_Jb78w,1938
40
+ novel_downloader/core/exporters/linovelib/txt.py,sha256=5k7ZKVPOtalOeTr9xFca3zkofNKa4Wg0NdKk-lujC58,4433
41
+ novel_downloader/core/fetchers/__init__.py,sha256=V0BXwjULLODbS69YRRfvivEB4HVdUxo4tFMZ44qT6mU,1982
42
+ novel_downloader/core/fetchers/aaatxt.py,sha256=fupx1NLqHc3PH61_cSbZ0lafkmLmcs2R3FI5z56YyC4,2417
43
+ novel_downloader/core/fetchers/b520.py,sha256=IuIci62rHLtad3eIU-iR9be56vw7w3W4ctpvQpkOg3I,2458
44
+ novel_downloader/core/fetchers/base.py,sha256=33PCJH08hnkEo1szJdpX0FpL_karIo1QgGp3ID0972E,13179
45
+ novel_downloader/core/fetchers/biquyuedu.py,sha256=Q1jR4lvAOVfE9HahHAWpSXdPcTUAJD5SpO_82b3xVKo,2473
46
+ novel_downloader/core/fetchers/dxmwx.py,sha256=JDbUHCOxuvXA6kNxoJLVUgiOOPSbemes-g6TZX6I1uE,3442
47
+ novel_downloader/core/fetchers/eightnovel.py,sha256=gtQZshH_VMu6HTWOH-CcdCGkkV3PlpX4bXDxAjMxUlE,4322
48
+ novel_downloader/core/fetchers/esjzone.py,sha256=8vNQX58iYIcrwQINcC0XdP0bKfdoxUPRotmLOkAF5D0,7594
49
+ novel_downloader/core/fetchers/guidaye.py,sha256=e7we3KSrzCTEbYv8bre3pyU78OsdNYbjA03V2D5S7Eg,2535
50
+ novel_downloader/core/fetchers/hetushu.py,sha256=v7cxBy6GrQIC9O8LqGHDyJlVB2oCwREbO3A-qI3vzyw,2773
51
+ novel_downloader/core/fetchers/i25zw.py,sha256=fcCFqSfPgFhgdk7DrTxPqgpJDDzmP79VzoverAwFNvw,3086
52
+ novel_downloader/core/fetchers/ixdzs8.py,sha256=DFI6qPu_xkb6zMLi1KkBZFxCbAvQzVPb8SHlAARoRGI,3530
53
+ novel_downloader/core/fetchers/jpxs123.py,sha256=BPomuCmvOGlKQZ-SR6TonB9YjTCFiPbdflkB-nw_-V0,3120
54
+ novel_downloader/core/fetchers/lewenn.py,sha256=W_2DiHsfeTNs5d2ZkjO907OMQyQVXGAL-nUJ-Ml0n2k,2457
55
+ novel_downloader/core/fetchers/linovelib.py,sha256=5oUji6UkM0XXkDmOPiWelhSo6C0NkD7JeJvNxVQG7IY,6136
56
+ novel_downloader/core/fetchers/piaotia.py,sha256=DPtBSBFmrU3Y3ha7u83sx5S9GXTpNxFj5VZtsP6pkmk,3220
57
+ novel_downloader/core/fetchers/qbtr.py,sha256=EGw8p-J01wu1iJmz4Vm6wjXPuTgVt6Y4BIY8Aun7zsQ,3094
58
+ novel_downloader/core/fetchers/qianbi.py,sha256=sWMpF78ZXBBVYs-DdUp0LG7khO84AMJzFYkDu_GSqfA,3174
59
+ novel_downloader/core/fetchers/qidian.py,sha256=pk_uLdCCnCYRD_OaJNhR17UCwmI6iH7mKMeKfEofgZY,10330
60
+ novel_downloader/core/fetchers/quanben5.py,sha256=TkLFJOfpMOpKNkq2D9R0HI33zzAV-KuHccXquu6CZZ0,2776
61
+ novel_downloader/core/fetchers/rate_limiter.py,sha256=Z05dZOATi_-Su14qRmhVinArfLJ0QWpzgDShs2jHSR8,2714
62
+ novel_downloader/core/fetchers/registry.py,sha256=z9DDTUjc2r-Xiq3MqaPfV_3EmQBXr2TK_G8eARnblkA,1580
63
+ novel_downloader/core/fetchers/sfacg.py,sha256=V4GM51JhH0MQl0RBw06XHXoJ_lPNS_2rqcreNhKM0OQ,5150
64
+ novel_downloader/core/fetchers/shencou.py,sha256=Ygb5WRyZJUzq8ex7edvDJGbgdWeV2N8_0P-wPcfYqKc,3269
65
+ novel_downloader/core/fetchers/shuhaige.py,sha256=mBG1xBMtjkFjBwpuY7KjIieJYPxlEyjDknXrYYyHaHo,2471
66
+ novel_downloader/core/fetchers/tongrenquan.py,sha256=kkpfUoqjldaBtWA9Kk5sDBI_ul2h8l6-uvugo-qE-mg,2547
67
+ novel_downloader/core/fetchers/ttkan.py,sha256=inxXEETJlyy2aw3kl6Z8ww_Trwx36u4EZOCjJrDfGeU,2812
68
+ novel_downloader/core/fetchers/wanbengo.py,sha256=9Qva9bbrzDdQn3qjGiOEgCjtdGIWRG2zXC5gJYmSdzI,2461
69
+ novel_downloader/core/fetchers/xiaoshuowu.py,sha256=nVF-dikPOsx3WUnjhUXdEASsW_lJiN0TVOSBXRsL6JI,3310
70
+ novel_downloader/core/fetchers/xiguashuwu.py,sha256=e_Gv5_GYBbq1vVvv9QTc0Nmp61xi2My66NoYbSZGE_M,5783
71
+ novel_downloader/core/fetchers/xs63b.py,sha256=7qyJLpmJ2H5oQOSsLqD-QoZMCOKtZiylVxg2qO8aMno,5216
72
+ novel_downloader/core/fetchers/xshbook.py,sha256=jCkarSZ5bknYTrDnY9dieKfX29wKwvfUyFdjWE9SeXw,2538
73
+ novel_downloader/core/fetchers/yamibo.py,sha256=d5F6EKXZfKjWkMqPGQO6sXmU9ki79YOHN4wdGIO4rsU,7573
74
+ novel_downloader/core/fetchers/yibige.py,sha256=CJO26gMj_36XQMFVVnXDr8aoTQAqBA6A5HTOMmrrdUc,3569
75
+ novel_downloader/core/interfaces/__init__.py,sha256=YwDOPw_UCjuAE5u_LpUYxXjOH4X2kNMXrmUoBa5jp2Q,490
76
+ novel_downloader/core/interfaces/downloader.py,sha256=nGY2LYCCBzrKhs612L5tevGG8kJp_XfCyKvqjXEIeoI,1763
77
+ novel_downloader/core/interfaces/exporter.py,sha256=R62GPGzfGQu0B-7nu6y-PTnYF_TkrGir3XG19AW6jNE,1649
78
+ novel_downloader/core/interfaces/fetcher.py,sha256=XZ320Fi72nDORQKFUBbtybWmQ2ZoJ63gpVXBurodOrQ,3669
79
+ novel_downloader/core/interfaces/parser.py,sha256=NzpKjh-P2IwNE0BUmaEKU49qhPNbLhodZMCj2uSkOkg,1317
80
+ novel_downloader/core/interfaces/searcher.py,sha256=1orneqFtwcqM5sFBKmhpWFbHk5bV7oEp0mN_77lgy6E,587
81
+ novel_downloader/core/parsers/__init__.py,sha256=VfGEMS0PUQLkmc32xiz7l5rCPgzuy3Vz-1ZDxaYNp1Q,1927
82
+ novel_downloader/core/parsers/aaatxt.py,sha256=1NCrhbbpd5FUi0ybMX2LYf6Sss4pY3eDXTXk7MEkrkk,3633
83
+ novel_downloader/core/parsers/b520.py,sha256=SUiY1IYOZmu-tY-owbQHMKUyDFxwwOI6bgdjyNw_daM,3254
84
+ novel_downloader/core/parsers/base.py,sha256=tdq7MuNezN5xwZJ5DUYKUOki9hisPJ_wyt9LdG3ocVo,4634
85
+ novel_downloader/core/parsers/biquyuedu.py,sha256=IpZfL2AC0oUq5Gx8iqwTH8sItxtzpxvDRKaMmtYf_xU,3867
86
+ novel_downloader/core/parsers/dxmwx.py,sha256=uj3tj36d8lnXbgFvmpHzrvv9oDYuMXWZCb0d8I32GfA,5006
87
+ novel_downloader/core/parsers/eightnovel.py,sha256=Yw9tt24SsAe3Y6xyXVgo1EUAs36_twPhoF1toUZZjAc,7290
88
+ novel_downloader/core/parsers/esjzone.py,sha256=vGcziiCmrkJeNO0BUBrFJOKg83k4buvysqInUVIJXJ4,7958
89
+ novel_downloader/core/parsers/guidaye.py,sha256=o1d987B5hkCEIVHYhszSavwKJFAErZVwpDaUPkSNUh4,3879
90
+ novel_downloader/core/parsers/hetushu.py,sha256=WUG4E9lvDJsa_l1xezYt0epPPJ4V9y_C4wwqWB8sxJs,4047
91
+ novel_downloader/core/parsers/i25zw.py,sha256=qILX6HQifu0hLJDNFc7XCqUNSQpfALhVgPC9jEGQt4g,4221
92
+ novel_downloader/core/parsers/ixdzs8.py,sha256=IyT9xoiyzghRuHg9-VASdEkmj-OMrrOBDWhjRNNmrVg,5690
93
+ novel_downloader/core/parsers/jpxs123.py,sha256=YwZAayPe_N2HJvioKifb3TJmk_EMsaRnPlknCCxHmrA,4211
94
+ novel_downloader/core/parsers/lewenn.py,sha256=YNk1Jl8eHwFFAAn-NyB1t0cVTZgl-Gkyy1SjGnKYSAU,4225
95
+ novel_downloader/core/parsers/linovelib.py,sha256=7d4nw6XowcRLGA_BY9q_3tJ8o19JS6_qAIl2vJoVelg,7083
96
+ novel_downloader/core/parsers/piaotia.py,sha256=VGj10yVGzNK_TwUmo-5tVbCgbQA2FlJDv67m-KMxfIo,6086
97
+ novel_downloader/core/parsers/qbtr.py,sha256=0sae3Ms68Z7XaHav7_5Eid8sqlW1VBn0zZsy1WmVu64,4241
98
+ novel_downloader/core/parsers/qianbi.py,sha256=ULRLFE-bwnHU8Eifa7egD-cNk_-ea4vyFSCZwGAVTWM,4811
99
+ novel_downloader/core/parsers/quanben5.py,sha256=wr8QgIYk8FBcJBwm_wjXDdG0yMnodHHzBqnaPn1JETE,3075
100
+ novel_downloader/core/parsers/registry.py,sha256=2L6yRew4hxN04UUB4xm4E4v8R5RUldawF-Xkg8nXBPI,1534
101
+ novel_downloader/core/parsers/sfacg.py,sha256=7FuiLgN2SuDTkVmClQe4I8oU35RuLlPEEAHLSLEWqwk,5598
102
+ novel_downloader/core/parsers/shencou.py,sha256=pdkBCU7n6NmNs64cD6jfbDtEHNSuGqLOiQaIYhLeNr8,6775
103
+ novel_downloader/core/parsers/shuhaige.py,sha256=rlHXcpKil8anKMi6OVvoPAqGuQdA15hMLlCuSr6C5tM,3128
104
+ novel_downloader/core/parsers/tongrenquan.py,sha256=y3ok9g-BzA2YVM4KqoNPPpclE0wdNL5mVY3GRQ9FshM,3399
105
+ novel_downloader/core/parsers/ttkan.py,sha256=_8nc6diogbb9uGHm_lXYJT-RHR9p76o7ARn4NPom2-E,3564
106
+ novel_downloader/core/parsers/wanbengo.py,sha256=boEnK1gLLpqmf5EUFY9gVEhBxqxYrVka9ou_mDGZ4co,6407
107
+ novel_downloader/core/parsers/xiaoshuowu.py,sha256=k8j0TY5t7s0n1f-FWuRTZ-eN3A8p-_xnKy7-kp2deK4,5328
108
+ novel_downloader/core/parsers/xiguashuwu.py,sha256=i_CpFKjfcGviOjT3fveDvDsaMmxHub9MOrCbWRySbH8,14448
109
+ novel_downloader/core/parsers/xs63b.py,sha256=A02abnMtsnWTomx-Hcfr97HFnNO38X9mmqKxHKrS610,5312
110
+ novel_downloader/core/parsers/xshbook.py,sha256=WwIGXEBAY8h-MLeApB1oVko_g3HF1Uj0X-Hko3TTrJ8,3995
111
+ novel_downloader/core/parsers/yamibo.py,sha256=B2ijBHCS0JW0I387LH8gDjevwakOE0RRKaKRsV4zo7A,5018
112
+ novel_downloader/core/parsers/yibige.py,sha256=K_nQ1SwVKLndgzlRvoTd2wd0tWXKb-T02c0sE6-bS5M,4846
113
+ novel_downloader/core/parsers/qidian/__init__.py,sha256=ScY9penE8b1m5HZGu6C1XwbzuqKbeGVCvli0J-xzzKs,173
114
+ novel_downloader/core/parsers/qidian/book_info_parser.py,sha256=RTg6Z2jaLEUVJXKzcdxG1rqBdAhu_gmxsq0zcD9vyAE,3043
115
+ novel_downloader/core/parsers/qidian/chapter_encrypted.py,sha256=eTIOTwlu_7DiAkul58tPOOlCSxMymcSfr_m4AlnkEdU,15386
116
+ novel_downloader/core/parsers/qidian/chapter_normal.py,sha256=JitsHCz9FSvslAbFLPdtF0FNr5V311Uj7K0zq7MUDwA,3738
117
+ novel_downloader/core/parsers/qidian/chapter_router.py,sha256=foVMlWtE-qUOvJD_4EDiuAVaNkFdeV_ZTCvS5IL7Orc,1957
118
+ novel_downloader/core/parsers/qidian/main_parser.py,sha256=w6s9RkcatA34chyzi4buFKew4-bIexlSHAIR1zBGIxE,2754
119
+ novel_downloader/core/parsers/qidian/utils/__init__.py,sha256=FuV7f-h76sk1g5BaqWOhsgh9uTykXA7MZ97kmkOB_lY,664
120
+ novel_downloader/core/parsers/qidian/utils/decryptor_fetcher.py,sha256=idwsRx9Er5SRb3b_tmKwNxfOmUWR0QwpVf_zpDRJxuw,4687
121
+ novel_downloader/core/parsers/qidian/utils/fontmap_recover.py,sha256=kuEPRnGn4GHVh3uQ8u8sg55LUaYYuavftxO9gyAR3ZM,4918
122
+ novel_downloader/core/parsers/qidian/utils/helpers.py,sha256=_HAOWW3HHtq2FtYlYU1FIebZdRmCo1Rfmh_WC9p_ZLU,3325
123
+ novel_downloader/core/parsers/qidian/utils/node_decryptor.py,sha256=MQQUI9nNpM23K0sA9bRVhs7pbQX6OvMc1NgvM28gHsU,5949
124
+ novel_downloader/core/searchers/__init__.py,sha256=pCCK1rxfQP8djdsRnpxoVgANe6CTpbP7DNbNond_1P4,1379
125
+ novel_downloader/core/searchers/aaatxt.py,sha256=KHaX1dpDBaAJz-_7UlaTtnMbFlTplWHaFyOfCkn4gX4,3717
126
+ novel_downloader/core/searchers/b520.py,sha256=L2fkf1_LxUREdPJJXbSN5c00EXwWVeMwWpXKN144k9c,2621
127
+ novel_downloader/core/searchers/base.py,sha256=dwXF5KwU1GAnKo5BY5H6X5xkpDiP72KpGd4Q-dn9DFg,5166
128
+ novel_downloader/core/searchers/dxmwx.py,sha256=ZaeFSU2T3Yl9x6hquila7cF4wYdwm9d82cTjFT9byCQ,3225
129
+ novel_downloader/core/searchers/eightnovel.py,sha256=xJKPdAeyhNLn0U8Ip_DY0BJOiTT3s5ajBz0nh4SaKY0,2528
130
+ novel_downloader/core/searchers/esjzone.py,sha256=zw7bQalTfYjp9an0Ghk0ZDsWEOOh-fNsR4Lsoi4u7xA,3199
131
+ novel_downloader/core/searchers/hetushu.py,sha256=qhX6-QdvzPCXHh7hO6tHXFd3dpbcff_1PL7YvqgOQho,2829
132
+ novel_downloader/core/searchers/i25zw.py,sha256=1h3IZxjFO8XirDYN7x7fc96XjuspuTdkAUNHf1xVeBM,2827
133
+ novel_downloader/core/searchers/ixdzs8.py,sha256=Q-tZk5czA-wTSDQ4jnJEITfWWnsMXre5nPTjwJxGl6s,3454
134
+ novel_downloader/core/searchers/jpxs123.py,sha256=BeEa7wkE0KGwZ3HPIKSh7I8wpF_V8Z2L87eWjzphzwk,3345
135
+ novel_downloader/core/searchers/piaotia.py,sha256=dGueBh819EvxgL-cyBITud3DGXJhebhZkExVxcPcH6E,3510
136
+ novel_downloader/core/searchers/qbtr.py,sha256=yokdCqlhlfJYy6HDhMZS4nGNzHGYwTy36glXq_AlSDw,3231
137
+ novel_downloader/core/searchers/qianbi.py,sha256=UK7znw9RZkhpsDTy3_wavi3aBLnaLVUGd9E_Epq5c20,5404
138
+ novel_downloader/core/searchers/quanben5.py,sha256=xDKtDsZ8e4bhmA9rIG-cdIkbtnaUUxSxJRqZrad1u3g,4265
139
+ novel_downloader/core/searchers/registry.py,sha256=VFtvtbAqLBSYO7CvXrVya-85t-jOUmyth30wls-6noY,2441
140
+ novel_downloader/core/searchers/shuhaige.py,sha256=8XW39aIdyHzWwG8r_hsr7YhOEGQLLTIXObe2HlAW8D4,3841
141
+ novel_downloader/core/searchers/tongrenquan.py,sha256=NE0BN4gutipfBPMm5TJP3YyI29ce6ERpmC1mqfQNgdc,3471
142
+ novel_downloader/core/searchers/ttkan.py,sha256=Y-qjePD7zQx8RUgASTuz4yu5fzT5MOJg7Qh9_SaP1z0,2851
143
+ novel_downloader/core/searchers/xiaoshuowu.py,sha256=gAS3OpoMwfksEtlXPL5XPrfD7KVprl8YA7HGn3gGANg,4132
144
+ novel_downloader/core/searchers/xiguashuwu.py,sha256=YWxOQpXUhMMsgxt7zc51rtdbe6mn9yv5Vzeg63OCJlQ,2952
145
+ novel_downloader/core/searchers/xs63b.py,sha256=T4QUQphYFvnbnENxFbYVNtZMi2QhXypxOJU-FjjVYwU,3443
146
+ novel_downloader/locales/en.json,sha256=T0Apt75RC9Uua6quGckZPMzkh0XB3uy_JkXzRxwRllk,3948
147
+ novel_downloader/locales/zh.json,sha256=LU691ypbrR903ie2BKHLgI1U4G6_fYpT4kcztMYO5-8,3785
148
+ novel_downloader/models/__init__.py,sha256=U7ks1ieTm-VzmH3NcH0Fym7c1zfywIZcBGPOUBWuVLo,690
149
+ novel_downloader/models/book.py,sha256=kim6Tt0pDDvOhGx6jnRp28BP79yhhsyNiUp56I0cAP8,875
150
+ novel_downloader/models/config.py,sha256=QNiw1XhbzjAYbfLAZ1bTIQ21nciNxnYszGVtXVG3Uk0,2211
151
+ novel_downloader/models/login.py,sha256=VpTKfistRmlEJ67bzRpnAeQFBqs8R7VeGXZ74BZvTF0,355
152
+ novel_downloader/models/search.py,sha256=NSAXbQJvUY1Zdp1HfAt6JJ-mTFw2aX4-Je-JLeMG8ZY,351
153
+ novel_downloader/resources/config/settings.toml,sha256=uHgL5sUBPIz17Jwlc8WPQZ6Vn8PjatZ3OIiDaS0f-h8,3081
154
+ novel_downloader/resources/css_styles/intro.css,sha256=Nqzp-A5we92d90CCiGL8h2FeuMnCz-G0TLevMF_Pl2U,1271
155
+ novel_downloader/resources/css_styles/main.css,sha256=1nsDTr698eY3furWDHuQMDKP1Vqd2h5x40eJMZpktNE,559
156
+ novel_downloader/resources/images/volume_border.png,sha256=2dEVimnTHKOfLMhi7bhkh_5joWNnrqg8duomLSNOZx4,28613
157
+ novel_downloader/resources/js_scripts/qidian_decrypt_node.js,sha256=spNrk_gXI7pPW9abr4XGc2LASMe1UuN4BUe4cH24L8s,2195
158
+ novel_downloader/resources/json/linovelib_font_map.json,sha256=F1IlEcvXGcagnZCu4Gw2vQ2NLnhy6cJOLhabukqnftw,67854
159
+ novel_downloader/resources/json/xiguashuwu.json,sha256=AT8KSFBWuiHj4Ggz3O1LqED0Tw22k0A4-V4OziHbqfo,16471
160
+ novel_downloader/utils/__init__.py,sha256=Mu3FyLH_9wp7zHtIHfSTWvdNkXYzOAHYMoGMDJKk4cg,920
161
+ novel_downloader/utils/chapter_storage.py,sha256=2l5mRHYQd7rarBB4UeUo4Lwood-cqY0LHvXb2KPyFqQ,10365
162
+ novel_downloader/utils/constants.py,sha256=KeTL_MygD0VdvEUeDFaHuqITIzU_LdD5huNQHC7uCDM,3312
163
+ novel_downloader/utils/cookies.py,sha256=diWQj-cMvH7eT2P1X-lzGzsWLcfhaPW2wvMVnwCQwkQ,1735
164
+ novel_downloader/utils/fontocr.py,sha256=gaNH4isYY7zFE--gqtM1YN6bIjWTA-G-60XCAsbja8o,6494
165
+ novel_downloader/utils/i18n.py,sha256=86Wz4zT0_YTnmOSS6cliqO_uMgJJdfC-hNLyqZnXgvU,1050
166
+ novel_downloader/utils/logger.py,sha256=exOM7pUb8n_AchmIxLNlaZySqsMQjViL4KEMilZ8t04,3013
167
+ novel_downloader/utils/network.py,sha256=UzqK6xuQQfV4gFFbmNgy09L3QAlqX-CFeF6urfKRJyg,4675
168
+ novel_downloader/utils/state.py,sha256=QHfvS9CrO08fRZLNM0B_s0n5XIz7ap20NdAfesQI0Ek,1852
169
+ novel_downloader/utils/crypto_utils/__init__.py,sha256=33j0dezsuX3LhkfXj-FImEgU7G1IVmjjZW-4FrDDT0o,196
170
+ novel_downloader/utils/crypto_utils/aes_util.py,sha256=46vKY1CxEnHgJE9t2CRzsrGyUoLRjBysCJCeSF5AiqU,2878
171
+ novel_downloader/utils/crypto_utils/aes_v1.py,sha256=_jW86_WyUTJfOzqYbZ6QvNPF-V8YRaqaOsyLjMsO610,34247
172
+ novel_downloader/utils/crypto_utils/aes_v2.py,sha256=OAsMnsztkJilqo8jM6nkrPMyujPqgGhohd-TcwW6fVA,48945
173
+ novel_downloader/utils/crypto_utils/rc4.py,sha256=3h9PBLraTow7TGiV60jI3zh4ZQH2ohaizJ8LThB55Pk,1934
174
+ novel_downloader/utils/epub/__init__.py,sha256=SaygR4gIuUWhFxgmmSzv4unRMxNMZPyIX4x2-_26yvc,722
175
+ novel_downloader/utils/epub/builder.py,sha256=apuzG7UzYcEEreMpf9Dez06-laQQg6EGGvl3PQGpBFA,11664
176
+ novel_downloader/utils/epub/constants.py,sha256=3fjJIr-5msO1sV2hjYHBiUpEvm0mQm5AsUlMOR03O_M,3080
177
+ novel_downloader/utils/epub/documents.py,sha256=8IgznHBLzaLgzxWJCHGDM4QuE8JdEDI7T3zuA9IHAbE,9868
178
+ novel_downloader/utils/epub/models.py,sha256=x9la6RKmhOTUkcsLSzM7qzThmRbyWZxqaRf39kY6IPo,2479
179
+ novel_downloader/utils/epub/utils.py,sha256=Jg1Xjii6KMVNMKbp6IkWxbwq_ILaEpgqp2vHN8i7P40,5084
180
+ novel_downloader/utils/file_utils/__init__.py,sha256=PIE96UKkI73wNr5v8kbP159BIbkEwsOQa9iEFr5RGUw,366
181
+ novel_downloader/utils/file_utils/io.py,sha256=Q5s2p4-HIAEV1_PLrpmHkGuXGVYPWkKoHOwjRVgru-w,3397
182
+ novel_downloader/utils/file_utils/normalize.py,sha256=v0ZRGcuZ9KMj0GTgAMPCwSBnYkEz8LCnW5dJYjf_jQk,2023
183
+ novel_downloader/utils/file_utils/sanitize.py,sha256=2hoBAleu6n3VhL6IP1df2x0-7mLVAxg1ef6Ogg-ZLu4,1922
184
+ novel_downloader/utils/text_utils/__init__.py,sha256=cr0HCvgQFJE2ZEXqjkkmrOA7PnH50dKegrjdpIytUJs,601
185
+ novel_downloader/utils/text_utils/diff_display.py,sha256=5zvVtzsLbRxmUnn_dWUsXFaq6hch02OlOpqKYP8GB3g,2491
186
+ novel_downloader/utils/text_utils/numeric_conversion.py,sha256=RJ3L5GBxgNEQYJ7xFoihLVsjGcObBfpUAk_Gz5MxlkA,6627
187
+ novel_downloader/utils/text_utils/text_cleaner.py,sha256=9-Ymi6H9BDBv1Sjk2gE9fCG4G3A8Lut-n2sfAyeyH2I,6124
188
+ novel_downloader/utils/text_utils/truncate_utils.py,sha256=GeQCczW0jAHSeDMxx0qCRtnvT-CH1-KjqJq2JBpIv7U,1483
189
+ novel_downloader/utils/time_utils/__init__.py,sha256=XbBeSbpNqiJy7Lsv-_udz29hPnIY53F0Drbuh730y44,331
190
+ novel_downloader/utils/time_utils/datetime_utils.py,sha256=ECidI5yvWVia8BWWLu7U0O0YYMIKgJwzWQmOuA_un3U,4499
191
+ novel_downloader/utils/time_utils/sleep_utils.py,sha256=g31qs1Uyng8GBhyqrvMpxBK2Xqr054xDlA1g8X5cZhk,3062
192
+ novel_downloader/web/__init__.py,sha256=ga8qRQhYcGEiL0WKhSSyldLxkOEfrq-UU71T7MYv7EU,174
193
+ novel_downloader/web/main.py,sha256=p8iq5VejxuvcJsgM20qDahBsrxK4PeL96O7_65Fa3JI,1779
194
+ novel_downloader/web/components/__init__.py,sha256=fxBI7rpAQvdZU3obR6_-bFqgmA7nzvRpW05Rw3b4jp8,193
195
+ novel_downloader/web/components/navigation.py,sha256=m-rjbNRlYjqXsu2dq5PdCzpqy7oW6_otra2ZufRsh1c,1156
196
+ novel_downloader/web/pages/__init__.py,sha256=KP_aH8y8dtCeRze8jDJ4tC3Ft7UTGhlW8ZKDdKPdwcM,383
197
+ novel_downloader/web/pages/download.py,sha256=Qqq4GAZaiMRAuCjBvWiof6kwzSz0yrAj5LWN5EEldqo,2600
198
+ novel_downloader/web/pages/progress.py,sha256=whWduqLvQ1PPZpDNVfvFCVaFgFhD87LT4CDb8JuqD_w,5207
199
+ novel_downloader/web/pages/search.py,sha256=Tgy4XgMoD2tovkGvSj9mMWBzWtO_FUGQATHEpzCSgx0,10235
200
+ novel_downloader/web/services/__init__.py,sha256=kLW0uyqudnlHtSsMrrghmL6P1-VDrseggNdB3cR5jLA,316
201
+ novel_downloader/web/services/client_dialog.py,sha256=JwYV8bjxPxLQsuheC8rk_jaeODolz5X9Wo64MsXZoyc,5679
202
+ novel_downloader/web/services/cred_broker.py,sha256=_R2Szqg5qRBHrFujTlPxrrMpQsnfNozjLUxJ5HhD8_c,2939
203
+ novel_downloader/web/services/cred_models.py,sha256=8nXbVoAIz3QokctrCVm-8lSnKgCIFhMM6TuaNq6bFGU,846
204
+ novel_downloader/web/services/task_manager.py,sha256=V6Pp92ZB9aNlliZbdwcaNUojioY1_BGAMGCo9Okob7w,8624
205
+ novel_downloader-2.0.0.dist-info/licenses/LICENSE,sha256=XgmnH0mBf-qEiizoVAfJQAKzPB9y3rBa-ni7M0Aqv4A,1066
206
+ novel_downloader-2.0.0.dist-info/METADATA,sha256=V1Xc8HvvlY-J2S6aqP2Hll5vVxZs3aUwrPVQXOGsXV0,6454
207
+ novel_downloader-2.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
208
+ novel_downloader-2.0.0.dist-info/entry_points.txt,sha256=nIgnurS4J6_ce3oIBFV87I1pPwBofuRQvxkoRGn4yEU,112
209
+ novel_downloader-2.0.0.dist-info/top_level.txt,sha256=hP4jYWM2LTm1jxsW4hqEB8N0dsRvldO2QdhggJT917I,17
210
+ novel_downloader-2.0.0.dist-info/RECORD,,
@@ -1,3 +1,3 @@
1
1
  [console_scripts]
2
2
  novel-cli = novel_downloader.cli.main:cli_main
3
- novel-tui = novel_downloader.tui.main:tui_main
3
+ novel-web = novel_downloader.web.main:web_main
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.downloaders.biquge
4
- ----------------------------------------
5
-
6
- """
7
-
8
- from novel_downloader.core.downloaders.common import CommonDownloader
9
- from novel_downloader.core.downloaders.registry import register_downloader
10
- from novel_downloader.core.interfaces import (
11
- FetcherProtocol,
12
- ParserProtocol,
13
- )
14
- from novel_downloader.models import DownloaderConfig
15
-
16
-
17
- @register_downloader(site_keys=["biquge", "bqg"])
18
- class BiqugeDownloader(CommonDownloader):
19
- """
20
- Downloader for biquge (笔趣阁) novels.
21
- """
22
-
23
- def __init__(
24
- self,
25
- fetcher: FetcherProtocol,
26
- parser: ParserProtocol,
27
- config: DownloaderConfig,
28
- ):
29
- super().__init__(fetcher, parser, config, "biquge")
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.downloaders.esjzone
4
- -----------------------------------------
5
-
6
- """
7
-
8
- from novel_downloader.core.downloaders.common import CommonDownloader
9
- from novel_downloader.core.downloaders.registry import register_downloader
10
- from novel_downloader.core.interfaces import (
11
- FetcherProtocol,
12
- ParserProtocol,
13
- )
14
- from novel_downloader.models import DownloaderConfig
15
-
16
-
17
- @register_downloader(site_keys=["esjzone"])
18
- class EsjzoneDownloader(CommonDownloader):
19
- """
20
- Downloader for ESJ Zone novels.
21
- """
22
-
23
- def __init__(
24
- self,
25
- fetcher: FetcherProtocol,
26
- parser: ParserProtocol,
27
- config: DownloaderConfig,
28
- ):
29
- super().__init__(fetcher, parser, config, "esjzone")
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.downloaders.linovelib
4
- -------------------------------------------
5
-
6
- """
7
-
8
- from novel_downloader.core.downloaders.common import CommonDownloader
9
- from novel_downloader.core.downloaders.registry import register_downloader
10
- from novel_downloader.core.interfaces import (
11
- FetcherProtocol,
12
- ParserProtocol,
13
- )
14
- from novel_downloader.models import DownloaderConfig
15
-
16
-
17
- @register_downloader(site_keys=["linovelib"])
18
- class LinovelibDownloader(CommonDownloader):
19
- """
20
- Downloader for Linovelib (哔哩轻小说) novels.
21
- """
22
-
23
- def __init__(
24
- self,
25
- fetcher: FetcherProtocol,
26
- parser: ParserProtocol,
27
- config: DownloaderConfig,
28
- ):
29
- super().__init__(fetcher, parser, config, "linovelib")
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.downloaders.sfacg
4
- ---------------------------------------
5
-
6
- """
7
-
8
- from novel_downloader.core.downloaders.common import CommonDownloader
9
- from novel_downloader.core.downloaders.registry import register_downloader
10
- from novel_downloader.core.interfaces import (
11
- FetcherProtocol,
12
- ParserProtocol,
13
- )
14
- from novel_downloader.models import DownloaderConfig
15
-
16
-
17
- @register_downloader(site_keys=["sfacg"])
18
- class SfacgDownloader(CommonDownloader):
19
- """
20
- Downloader for sfacg (SF 轻小说) novels.
21
- """
22
-
23
- def __init__(
24
- self,
25
- fetcher: FetcherProtocol,
26
- parser: ParserProtocol,
27
- config: DownloaderConfig,
28
- ):
29
- super().__init__(fetcher, parser, config, "sfacg")
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.downloaders.yamibo
4
- ----------------------------------------
5
-
6
- """
7
-
8
- from novel_downloader.core.downloaders.common import CommonDownloader
9
- from novel_downloader.core.downloaders.registry import register_downloader
10
- from novel_downloader.core.interfaces import (
11
- FetcherProtocol,
12
- ParserProtocol,
13
- )
14
- from novel_downloader.models import DownloaderConfig
15
-
16
-
17
- @register_downloader(site_keys=["yamibo"])
18
- class YamiboDownloader(CommonDownloader):
19
- """
20
- Downloader for yamibo (百合会) novels.
21
- """
22
-
23
- def __init__(
24
- self,
25
- fetcher: FetcherProtocol,
26
- parser: ParserProtocol,
27
- config: DownloaderConfig,
28
- ):
29
- super().__init__(fetcher, parser, config, "yamibo")
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.exporters.biquge
4
- --------------------------------------
5
-
6
- """
7
-
8
- __all__ = ["BiqugeExporter"]
9
-
10
- from novel_downloader.core.exporters.registry import register_exporter
11
- from novel_downloader.models import ExporterConfig
12
-
13
- from .common import CommonExporter
14
-
15
-
16
- @register_exporter(site_keys=["biquge", "bqg"])
17
- class BiqugeExporter(CommonExporter):
18
- def __init__(
19
- self,
20
- config: ExporterConfig,
21
- ):
22
- super().__init__(config, site="biquge")
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.exporters.esjzone
4
- ---------------------------------------
5
-
6
- """
7
-
8
- __all__ = ["EsjzoneExporter"]
9
-
10
- from novel_downloader.core.exporters.registry import register_exporter
11
- from novel_downloader.models import ExporterConfig
12
-
13
- from .common import CommonExporter
14
-
15
-
16
- @register_exporter(site_keys=["esjzone"])
17
- class EsjzoneExporter(CommonExporter):
18
- def __init__(
19
- self,
20
- config: ExporterConfig,
21
- ):
22
- super().__init__(config, site="esjzone")
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.exporters.qianbi
4
- --------------------------------------
5
-
6
- """
7
-
8
- __all__ = ["QianbiExporter"]
9
-
10
- from novel_downloader.core.exporters.registry import register_exporter
11
- from novel_downloader.models import ExporterConfig
12
-
13
- from .common import CommonExporter
14
-
15
-
16
- @register_exporter(site_keys=["qianbi"])
17
- class QianbiExporter(CommonExporter):
18
- def __init__(
19
- self,
20
- config: ExporterConfig,
21
- ):
22
- super().__init__(config, site="qianbi")
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.exporters.sfacg
4
- -------------------------------------
5
-
6
- """
7
-
8
- __all__ = ["SfacgExporter"]
9
-
10
- from novel_downloader.core.exporters.registry import register_exporter
11
- from novel_downloader.models import ExporterConfig
12
-
13
- from .common import CommonExporter
14
-
15
-
16
- @register_exporter(site_keys=["sfacg"])
17
- class SfacgExporter(CommonExporter):
18
- def __init__(
19
- self,
20
- config: ExporterConfig,
21
- ):
22
- super().__init__(config, site="sfacg")
@@ -1,22 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.exporters.yamibo
4
- --------------------------------------
5
-
6
- """
7
-
8
- __all__ = ["YamiboExporter"]
9
-
10
- from novel_downloader.core.exporters.registry import register_exporter
11
- from novel_downloader.models import ExporterConfig
12
-
13
- from .common import CommonExporter
14
-
15
-
16
- @register_exporter(site_keys=["yamibo"])
17
- class YamiboExporter(CommonExporter):
18
- def __init__(
19
- self,
20
- config: ExporterConfig,
21
- ):
22
- super().__init__(config, site="yamibo")
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- novel_downloader.core.fetchers.base
4
- -----------------------------------
5
-
6
- """
7
-
8
- __all__ = [
9
- "BaseBrowser",
10
- "BaseSession",
11
- ]
12
-
13
- from .browser import BaseBrowser
14
- from .session import BaseSession