scraper2-hj3415 2.1.1__py3-none-any.whl → 2.2.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.
@@ -1,7 +1,8 @@
1
1
  #scraper2/adapters/out/sinks/memory/c101_memory_sink.py
2
2
  from __future__ import annotations
3
3
 
4
- from typing import Iterable
4
+ from datetime import datetime
5
+ from typing import Iterable, Optional
5
6
 
6
7
  from contracts.nfs.c101 import C101DTO
7
8
  from scraper2.adapters.out.sinks.memory.store import InMemoryStore
@@ -13,8 +14,13 @@ class MemoryC101Sink(C101SinkPort):
13
14
  def __init__(self, store: InMemoryStore[C101DTO]):
14
15
  self._store = store
15
16
 
16
- async def write(self, dto: C101DTO) -> None:
17
+ async def write(self, dto: C101DTO, *, asof: Optional[datetime] = None) -> None:
17
18
  await self._store.put(_ENDPOINT, dto.코드, dto)
18
19
 
19
- async def write_many(self, dtos: Iterable[C101DTO]) -> None:
20
+ async def write_many(
21
+ self,
22
+ dtos: Iterable[C101DTO],
23
+ *,
24
+ asof: Optional[datetime] = None,
25
+ ) -> None:
20
26
  await self._store.put_many(_ENDPOINT, ((d.코드, d) for d in dtos))
@@ -1,7 +1,8 @@
1
1
  # scraper2/adapters/out/sinks/memory/c103_memory_sink.py
2
2
  from __future__ import annotations
3
3
 
4
- from typing import Iterable
4
+ from datetime import datetime
5
+ from typing import Iterable, Optional
5
6
 
6
7
  from contracts.nfs.c103 import C103DTO
7
8
  from scraper2.adapters.out.sinks.memory.store import InMemoryStore
@@ -13,8 +14,13 @@ class MemoryC103Sink(C103SinkPort):
13
14
  def __init__(self, store: InMemoryStore[C103DTO]):
14
15
  self._store = store
15
16
 
16
- async def write(self, dto: C103DTO) -> None:
17
+ async def write(self, dto: C103DTO, *, asof: Optional[datetime] = None) -> None:
17
18
  await self._store.put(_ENDPOINT, dto.코드, dto)
18
19
 
19
- async def write_many(self, dtos: Iterable[C103DTO]) -> None:
20
+ async def write_many(
21
+ self,
22
+ dtos: Iterable[C103DTO],
23
+ *,
24
+ asof: Optional[datetime] = None,
25
+ ) -> None:
20
26
  await self._store.put_many(_ENDPOINT, ((d.코드, d) for d in dtos))
@@ -1,7 +1,8 @@
1
1
  # scraper2/adapters/out/sinks/memory/c104_memory_sink.py
2
2
  from __future__ import annotations
3
3
 
4
- from typing import Iterable
4
+ from datetime import datetime
5
+ from typing import Iterable, Optional
5
6
 
6
7
  from contracts.nfs.c104 import C104DTO
7
8
  from scraper2.adapters.out.sinks.memory.store import InMemoryStore
@@ -13,8 +14,13 @@ class MemoryC104Sink(C104SinkPort):
13
14
  def __init__(self, store: InMemoryStore[C104DTO]):
14
15
  self._store = store
15
16
 
16
- async def write(self, dto: C104DTO) -> None:
17
+ async def write(self, dto: C104DTO, *, asof: Optional[datetime] = None) -> None:
17
18
  await self._store.put(_ENDPOINT, dto.코드, dto)
18
19
 
19
- async def write_many(self, dtos: Iterable[C104DTO]) -> None:
20
+ async def write_many(
21
+ self,
22
+ dtos: Iterable[C104DTO],
23
+ *,
24
+ asof: Optional[datetime] = None,
25
+ ) -> None:
20
26
  await self._store.put_many(_ENDPOINT, ((d.코드, d) for d in dtos))
@@ -1,7 +1,8 @@
1
1
  #scraper2/adapters/out/sinks/memory/c106_memory_sink.py
2
2
  from __future__ import annotations
3
3
 
4
- from typing import Iterable
4
+ from datetime import datetime
5
+ from typing import Iterable, Optional
5
6
 
6
7
  from contracts.nfs.c106 import C106DTO
7
8
  from scraper2.adapters.out.sinks.memory.store import InMemoryStore
@@ -13,8 +14,13 @@ class MemoryC106Sink(C106SinkPort):
13
14
  def __init__(self, store: InMemoryStore[C106DTO]):
14
15
  self._store = store
15
16
 
16
- async def write(self, dto: C106DTO) -> None:
17
+ async def write(self, dto: C106DTO, *, asof: Optional[datetime] = None) -> None:
17
18
  await self._store.put(_ENDPOINT, dto.코드, dto)
18
19
 
19
- async def write_many(self, dtos: Iterable[C106DTO]) -> None:
20
+ async def write_many(
21
+ self,
22
+ dtos: Iterable[C106DTO],
23
+ *,
24
+ asof: Optional[datetime] = None,
25
+ ) -> None:
20
26
  await self._store.put_many(_ENDPOINT, ((d.코드, d) for d in dtos))
@@ -1,7 +1,8 @@
1
1
  #scraper2/adapters/out/sinks/memory/c108_memory_sink.py
2
2
  from __future__ import annotations
3
3
 
4
- from typing import Iterable
4
+ from datetime import datetime
5
+ from typing import Iterable, Optional
5
6
 
6
7
  from contracts.nfs.c108 import C108DTO
7
8
  from scraper2.adapters.out.sinks.memory.store import InMemoryStore
@@ -13,8 +14,13 @@ class MemoryC108Sink(C108SinkPort):
13
14
  def __init__(self, store: InMemoryStore[C108DTO]):
14
15
  self._store = store
15
16
 
16
- async def write(self, dto: C108DTO) -> None:
17
+ async def write(self, dto: C108DTO, *, asof: Optional[datetime] = None) -> None:
17
18
  await self._store.put(_ENDPOINT, dto.코드, dto)
18
19
 
19
- async def write_many(self, dtos: Iterable[C108DTO]) -> None:
20
+ async def write_many(
21
+ self,
22
+ dtos: Iterable[C108DTO],
23
+ *,
24
+ asof: Optional[datetime] = None,
25
+ ) -> None:
20
26
  await self._store.put_many(_ENDPOINT, ((d.코드, d) for d in dtos))
@@ -1,13 +1,14 @@
1
1
  # scraper2/app/ports/ingest_port.py
2
- from typing import Protocol, Iterable
2
+ from typing import Protocol, Iterable, Optional, Sequence, Any
3
3
  from datetime import datetime
4
4
 
5
5
  class IngestPort(Protocol):
6
6
  async def execute_many(
7
7
  self,
8
- codes: list[str],
8
+ codes: Iterable[str],
9
9
  *,
10
10
  sleep_sec: float = ...,
11
- asof: datetime | None = None,
12
- ) -> list[object]:
13
- ...
11
+ asof: Optional[datetime] = None,
12
+ ) -> Sequence[Any]:
13
+ ...
14
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scraper2-hj3415
3
- Version: 2.1.1
3
+ Version: 2.2.0
4
4
  Summary: Naver WiseReport scraper
5
5
  Keywords: example,demo
6
6
  Author-email: Hyungjin Kim <hj3415@gmail.com>
@@ -16,6 +16,7 @@ Requires-Dist: pandas-stubs>=2.3.3
16
16
  Requires-Dist: lxml>=6.0.2
17
17
  Requires-Dist: typer>=0.21.0
18
18
  Requires-Dist: db2-hj3415
19
+ Requires-Dist: contracts-hj3415
19
20
 
20
21
  # scraper2
21
22
 
@@ -9,11 +9,11 @@ scraper2/adapters/out/playwright/browser_factory.py,sha256=y008Dbu6VmzrEe7zn7CbO
9
9
  scraper2/adapters/out/playwright/session.py,sha256=hQDmYpi7pIVDjkymaTKQzJVWUsRRlvJg1V777V8q44M,3727
10
10
  scraper2/adapters/out/sinks/.DS_Store,sha256=c6VOGBl6bMmFzab335dcT09WinGd4BCZXZiPjrZjd7o,6148
11
11
  scraper2/adapters/out/sinks/memory/__init__.py,sha256=djvn50E0dBZr-H6Xmh9FMYalG2Zc0jL5kTXaBjnRaRo,400
12
- scraper2/adapters/out/sinks/memory/c101_memory_sink.py,sha256=klVgT_ra8EQYjJCk6ilWDkrNG3dj_ITP-eqdwX07nY4,682
13
- scraper2/adapters/out/sinks/memory/c103_memory_sink.py,sha256=hov3yH3uQqFie1BzxHa3GKsHjm_e5011ItZ4AiqaJIg,683
14
- scraper2/adapters/out/sinks/memory/c104_memory_sink.py,sha256=-cmNhK17OdsFfVklJjQFF4IWJvmH5ppGcjnpLf8VOns,683
15
- scraper2/adapters/out/sinks/memory/c106_memory_sink.py,sha256=xyrMDjIpPZJ2CHc8687weEF72wKcVl_flFp7PU6GNdo,682
16
- scraper2/adapters/out/sinks/memory/c108_memory_sink.py,sha256=HYxZ1YymdSlGzPpaNsdQGZhpzVr-ArgNgM0PyJdfubA,682
12
+ scraper2/adapters/out/sinks/memory/c101_memory_sink.py,sha256=yqIYGF43-Jja-IlFo6o6HcuL4RS0CEKRvqS8IULqRC8,833
13
+ scraper2/adapters/out/sinks/memory/c103_memory_sink.py,sha256=WWjkaGp8v0TW-_NydRfv7wRDMrvItkv1qqvlTh_XUbg,850
14
+ scraper2/adapters/out/sinks/memory/c104_memory_sink.py,sha256=Pa-1limYsYtQ0Y3qIU3M0f-QWbagUEIuzfzEtEgBgW4,850
15
+ scraper2/adapters/out/sinks/memory/c106_memory_sink.py,sha256=UNse5lDJla-nTFgsytovw45SRhnGVWH0HWGR8RQRL1Q,849
16
+ scraper2/adapters/out/sinks/memory/c108_memory_sink.py,sha256=XrDy28FtGbLllzTDance9R3LtVYvRP9GHLJVG-npEUI,849
17
17
  scraper2/adapters/out/sinks/memory/store.py,sha256=h4dwiCF5gne5kloRdD78NWlqtcaailIqoId9xAjtBk4,2738
18
18
  scraper2/adapters/out/sinks/mongo/__init__.py,sha256=YmEZqNqh7S4PFTufxd5sCF2k24rTOsxY3ZFrFVyQzh8,382
19
19
  scraper2/adapters/out/sinks/mongo/c101_mongo_sink.py,sha256=CpcafwjBJ-Jo-sm02hRC1H214B4aKfvV5MNoNP1AfxQ,1270
@@ -32,7 +32,7 @@ scraper2/app/parsing/c104_parser.py,sha256=NGnzdVbhdqXFqJphwEDSlJPnM18RU759FCgry
32
32
  scraper2/app/parsing/c106_parser.py,sha256=JCml8HHnczgMUVnUkRI8AMEJ9mog1dOJfdd6hQKtv9I,4505
33
33
  scraper2/app/parsing/c108_parser.py,sha256=VEzzXliatoRdxR2_uSnHMHLNvV5h2irYiyoXAMQm8jc,1961
34
34
  scraper2/app/ports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- scraper2/app/ports/ingest_port.py,sha256=RHaRXJanq4VdDUXr42pEJr0vWru7zlIHNOTv7k940os,316
35
+ scraper2/app/ports/ingest_port.py,sha256=mm8jzoaJeiqm2CCznzD347gEzLu7doBjpEwzbRu0R3A,351
36
36
  scraper2/app/ports/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  scraper2/app/ports/browser/browser_factory_port.py,sha256=dJ3JCc38MVF7wPmCH4MO3BdnHIXE5wSmfsV7cLysJ54,401
38
38
  scraper2/app/ports/browser/browser_port.py,sha256=tFYkdCeTCF-5XHvT1duioj31ytsc-ATQpmEgposi1X4,1133
@@ -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.1.1.dist-info/entry_points.txt,sha256=jUNx7ZJQedQ3QnsDN1ompQ0PjwdvVmnKdHHFMfQQPlI,46
60
- scraper2_hj3415-2.1.1.dist-info/licenses/LICENSE,sha256=QBiVGQuKAESeCfQE344Ik2ex6g2zfYdu9WqrRWydxIs,1068
61
- scraper2_hj3415-2.1.1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
62
- scraper2_hj3415-2.1.1.dist-info/METADATA,sha256=r2ulXJb_uj6N9n2C98g2jLbM6VO65c9YCZvRgYCRPoY,3425
63
- scraper2_hj3415-2.1.1.dist-info/RECORD,,
59
+ scraper2_hj3415-2.2.0.dist-info/entry_points.txt,sha256=jUNx7ZJQedQ3QnsDN1ompQ0PjwdvVmnKdHHFMfQQPlI,46
60
+ scraper2_hj3415-2.2.0.dist-info/licenses/LICENSE,sha256=QBiVGQuKAESeCfQE344Ik2ex6g2zfYdu9WqrRWydxIs,1068
61
+ scraper2_hj3415-2.2.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
62
+ scraper2_hj3415-2.2.0.dist-info/METADATA,sha256=hdcFQQQvdoDwgw-PTUsaWwjUXFtkS5inLPDFhBlYZjg,3457
63
+ scraper2_hj3415-2.2.0.dist-info/RECORD,,