scraper2-hj3415 2.2.0__py3-none-any.whl → 2.4.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.
- scraper2/.DS_Store +0 -0
- scraper2/adapters/out/playwright/browser.py +0 -1
- scraper2/app/composition.py +12 -3
- scraper2/main.py +2 -4
- {scraper2_hj3415-2.2.0.dist-info → scraper2_hj3415-2.4.0.dist-info}/METADATA +1 -1
- {scraper2_hj3415-2.2.0.dist-info → scraper2_hj3415-2.4.0.dist-info}/RECORD +9 -9
- {scraper2_hj3415-2.2.0.dist-info → scraper2_hj3415-2.4.0.dist-info}/WHEEL +0 -0
- {scraper2_hj3415-2.2.0.dist-info → scraper2_hj3415-2.4.0.dist-info}/entry_points.txt +0 -0
- {scraper2_hj3415-2.2.0.dist-info → scraper2_hj3415-2.4.0.dist-info}/licenses/LICENSE +0 -0
scraper2/.DS_Store
CHANGED
|
Binary file
|
scraper2/app/composition.py
CHANGED
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
|
|
4
4
|
import os
|
|
5
5
|
from dataclasses import dataclass
|
|
6
|
-
from typing import Literal
|
|
6
|
+
from typing import Literal, Optional
|
|
7
7
|
|
|
8
8
|
from pymongo.asynchronous.database import AsyncDatabase
|
|
9
9
|
|
|
@@ -109,7 +109,14 @@ class Usecases:
|
|
|
109
109
|
store: InMemoryStore | None = None # ✅ memory일 때만
|
|
110
110
|
mongo: Mongo | None = None # ✅ mongo일 때만
|
|
111
111
|
db: AsyncDatabase | None = None # ✅ mongo일 때만
|
|
112
|
+
browser_factory: Optional[BrowserFactoryPort] = None
|
|
112
113
|
|
|
114
|
+
async def aclose(self) -> None:
|
|
115
|
+
if self.browser_factory is not None:
|
|
116
|
+
await self.browser_factory.aclose()
|
|
117
|
+
|
|
118
|
+
if self.mongo is not None:
|
|
119
|
+
await self.mongo.close()
|
|
113
120
|
|
|
114
121
|
# -------------------------
|
|
115
122
|
# builders
|
|
@@ -185,11 +192,13 @@ def build_usecases(
|
|
|
185
192
|
if sink_kind == "memory":
|
|
186
193
|
bundle = build_memory_bundle()
|
|
187
194
|
ingest = build_ingest_usecases(fetch=fetch, sinks=bundle.sinks)
|
|
188
|
-
return Usecases(fetch=fetch, ingest=ingest, sinks=bundle.sinks, store=bundle.store
|
|
195
|
+
return Usecases(fetch=fetch, ingest=ingest, sinks=bundle.sinks, store=bundle.store,
|
|
196
|
+
browser_factory=factory)
|
|
189
197
|
|
|
190
198
|
if sink_kind == "mongo":
|
|
191
199
|
bundle = build_mongo_bundle()
|
|
192
200
|
ingest = build_ingest_usecases(fetch=fetch, sinks=bundle.sinks)
|
|
193
|
-
return Usecases(fetch=fetch, ingest=ingest, sinks=bundle.sinks, mongo=bundle.mongo, db=bundle.db
|
|
201
|
+
return Usecases(fetch=fetch, ingest=ingest, sinks=bundle.sinks, mongo=bundle.mongo, db=bundle.db,
|
|
202
|
+
browser_factory=factory)
|
|
194
203
|
|
|
195
204
|
raise ValueError(f"Unknown sink_kind: {sink_kind}")
|
scraper2/main.py
CHANGED
|
@@ -233,8 +233,7 @@ def nfs_one(
|
|
|
233
233
|
else:
|
|
234
234
|
typer.echo(_dto_to_pretty(dto))
|
|
235
235
|
finally:
|
|
236
|
-
|
|
237
|
-
await _maybe_await_close(ucs.mongo)
|
|
236
|
+
await ucs.aclose()
|
|
238
237
|
|
|
239
238
|
asyncio.run(_run())
|
|
240
239
|
|
|
@@ -281,8 +280,7 @@ def nfs_all(
|
|
|
281
280
|
progress_every=1, # chunk마다
|
|
282
281
|
)
|
|
283
282
|
finally:
|
|
284
|
-
|
|
285
|
-
await _maybe_await_close(ucs.mongo)
|
|
283
|
+
await ucs.aclose()
|
|
286
284
|
|
|
287
285
|
asyncio.run(_run())
|
|
288
286
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
scraper2/.DS_Store,sha256=
|
|
1
|
+
scraper2/.DS_Store,sha256=sEtRhy6uiX4PgYuHnRIsUN_QtI0jR0lSLi4kYurHsso,6148
|
|
2
2
|
scraper2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
scraper2/main.py,sha256=
|
|
3
|
+
scraper2/main.py,sha256=qQaLU1Ohq4QBCRilGsDgVYnm-TqVR4pqQ9-XexKbiWQ,9070
|
|
4
4
|
scraper2/adapters/out/.DS_Store,sha256=nUqwRB5F2DM82P8BALYvDI0YoD1UbmngfSi8ukKkY7E,6148
|
|
5
5
|
scraper2/adapters/out/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
scraper2/adapters/out/playwright/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
scraper2/adapters/out/playwright/browser.py,sha256=
|
|
7
|
+
scraper2/adapters/out/playwright/browser.py,sha256=cjz-1iz3U2fmY0tntO5h4NADfW4hYtusCfPTCqSo2NM,3942
|
|
8
8
|
scraper2/adapters/out/playwright/browser_factory.py,sha256=y008Dbu6VmzrEe7zn7CbODndQEVJtv_EBu04GsMbPGM,3697
|
|
9
9
|
scraper2/adapters/out/playwright/session.py,sha256=hQDmYpi7pIVDjkymaTKQzJVWUsRRlvJg1V777V8q44M,3727
|
|
10
10
|
scraper2/adapters/out/sinks/.DS_Store,sha256=c6VOGBl6bMmFzab335dcT09WinGd4BCZXZiPjrZjd7o,6148
|
|
@@ -22,7 +22,7 @@ scraper2/adapters/out/sinks/mongo/c104_mongo_sink.py,sha256=IicVnc2fyeBXoBbgMasB
|
|
|
22
22
|
scraper2/adapters/out/sinks/mongo/c106_mongo_sink.py,sha256=FMdCp8WVjPwidnh7tIPUoViQWr48O16xtB34O_iCtJI,1203
|
|
23
23
|
scraper2/adapters/out/sinks/mongo/c108_mongo_sink.py,sha256=eSvIRtofWvNKVPchglwL1mOw5hsKDpUfNz5EOum-H3Y,1203
|
|
24
24
|
scraper2/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
scraper2/app/composition.py,sha256=
|
|
25
|
+
scraper2/app/composition.py,sha256=sJuEAPg-mQ51-0ZsXmMOuAN_whKaq1BCMWHy0uAwxMA,6572
|
|
26
26
|
scraper2/app/parsing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
27
|
scraper2/app/parsing/_converters.py,sha256=z0kSL4nQnqq5w7QfJZBSbjZOLo1JhoqqDLpqlEAN4bo,1815
|
|
28
28
|
scraper2/app/parsing/_normalize.py,sha256=2qqbXxTbzbuYlu7ttzQjyKgatFnwopme2b_fd0zahio,3738
|
|
@@ -56,8 +56,8 @@ scraper2/app/usecases/ingest/ingest_c103.py,sha256=T_IKs5ikckin_05FnL-dxirAW1PPa
|
|
|
56
56
|
scraper2/app/usecases/ingest/ingest_c104.py,sha256=2rGTcFbsATsn3d2KsSEkL5x4fmkGo7x9MHrysoxiICM,1150
|
|
57
57
|
scraper2/app/usecases/ingest/ingest_c106.py,sha256=mQrbASbKVUQyVcIWiXzIczbX-1mNR5NGk760enVCfvo,1190
|
|
58
58
|
scraper2/app/usecases/ingest/ingest_c108.py,sha256=49ULzdl0dN6z3istAKg29PcD5wHTxYholqAZiIEmUzU,1191
|
|
59
|
-
scraper2_hj3415-2.
|
|
60
|
-
scraper2_hj3415-2.
|
|
61
|
-
scraper2_hj3415-2.
|
|
62
|
-
scraper2_hj3415-2.
|
|
63
|
-
scraper2_hj3415-2.
|
|
59
|
+
scraper2_hj3415-2.4.0.dist-info/entry_points.txt,sha256=jUNx7ZJQedQ3QnsDN1ompQ0PjwdvVmnKdHHFMfQQPlI,46
|
|
60
|
+
scraper2_hj3415-2.4.0.dist-info/licenses/LICENSE,sha256=QBiVGQuKAESeCfQE344Ik2ex6g2zfYdu9WqrRWydxIs,1068
|
|
61
|
+
scraper2_hj3415-2.4.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
62
|
+
scraper2_hj3415-2.4.0.dist-info/METADATA,sha256=uIyIiBBmEhDxoXmiLnvBctWO8Ky7mU0o5ycA3FFq6_o,3457
|
|
63
|
+
scraper2_hj3415-2.4.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|