db2_hj3415 0.1.5__tar.gz → 0.1.7__tar.gz

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 (34) hide show
  1. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/PKG-INFO +1 -1
  2. db2_hj3415-0.1.7/db2_hj3415/nfs/dart.py +27 -0
  3. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/models.py +8 -8
  4. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/pyproject.toml +1 -1
  5. db2_hj3415-0.1.5/db2_hj3415/nfs/dart.py +0 -0
  6. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/README.md +0 -0
  7. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/__init__.py +0 -0
  8. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/cli/__init__.py +0 -0
  9. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/cli/db.py +0 -0
  10. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/common/__init__.py +0 -0
  11. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/common/connection.py +0 -0
  12. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/common/db_ops.py +0 -0
  13. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/common/utils.py +0 -0
  14. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/__init__.py +0 -0
  15. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/_ops.py +0 -0
  16. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/aud.py +0 -0
  17. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/chf.py +0 -0
  18. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/gbond3y.py +0 -0
  19. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/gold.py +0 -0
  20. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/kosdaq.py +0 -0
  21. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/kospi.py +0 -0
  22. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/silver.py +0 -0
  23. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/sp500.py +0 -0
  24. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/usdidx.py +0 -0
  25. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/usdkrw.py +0 -0
  26. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/mi/wti.py +0 -0
  27. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/__init__.py +0 -0
  28. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/_c10346.py +0 -0
  29. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/_ops.py +0 -0
  30. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/c101.py +0 -0
  31. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/c103.py +0 -0
  32. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/c104.py +0 -0
  33. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/c106.py +0 -0
  34. {db2_hj3415-0.1.5 → db2_hj3415-0.1.7}/db2_hj3415/nfs/c108.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: db2_hj3415
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: Gathering the stock data by playwright
5
5
  Author-email: Hyungjin Kim <hj3415@gmail.com>
6
6
  Description-Content-Type: text/markdown
@@ -0,0 +1,27 @@
1
+ from motor.motor_asyncio import AsyncIOMotorClient
2
+ from pymongo import InsertOne
3
+ from db2_hj3415.nfs import Dart, DB_NAME, get_collection
4
+
5
+ COL_NAME = "dart"
6
+
7
+ async def save_many(many_data: list[Dart], client: AsyncIOMotorClient) -> dict:
8
+ if not many_data:
9
+ return {"inserted_count": 0, "skipped": 0}
10
+
11
+ collection = get_collection(client, DB_NAME, COL_NAME)
12
+
13
+ # unique index 보장용 (이미 설정되었는지 확인)
14
+ await collection.create_index("rcept_no", unique=True)
15
+
16
+ ops = []
17
+ skipped = 0
18
+
19
+ for item in many_data:
20
+ doc = item.model_dump(mode="json", exclude={"id"}) # _id는 제외
21
+ ops.append(InsertOne(doc))
22
+
23
+ try:
24
+ result = await collection.bulk_write(ops, ordered=False)
25
+ return {"inserted_count": result.inserted_count, "skipped": skipped}
26
+ except Exception as e:
27
+ return {"error": str(e)}
@@ -2,7 +2,7 @@ from pydantic import BaseModel, Field, field_serializer, ConfigDict, field_valid
2
2
  from datetime import datetime
3
3
 
4
4
  class C101(BaseModel):
5
- id: str | None = Field(alias="_id")
5
+ id: str | None = Field(default=None, alias="_id")
6
6
  날짜: datetime
7
7
  코드: str
8
8
  bps: int | None
@@ -58,7 +58,7 @@ class 항목값q(BaseModel):
58
58
 
59
59
 
60
60
  class C103(BaseModel):
61
- id: str | None = Field(alias="_id")
61
+ id: str | None = Field(default=None, alias="_id")
62
62
  코드: str
63
63
  날짜: datetime
64
64
  손익계산서q: list[항목값q]
@@ -76,7 +76,7 @@ class C103(BaseModel):
76
76
 
77
77
 
78
78
  class C104(BaseModel):
79
- id: str | None = Field(alias="_id")
79
+ id: str | None = Field(default=None, alias="_id")
80
80
  코드: str
81
81
  날짜: datetime
82
82
 
@@ -109,7 +109,7 @@ class 기업데이터(BaseModel):
109
109
  )
110
110
 
111
111
  class C106(BaseModel):
112
- id: str | None = Field(alias="_id")
112
+ id: str | None = Field(default=None, alias="_id")
113
113
  코드: str
114
114
  날짜: datetime
115
115
 
@@ -124,7 +124,7 @@ class C106(BaseModel):
124
124
 
125
125
 
126
126
  class C108(BaseModel):
127
- id: str | None = Field(alias="_id")
127
+ id: str | None = Field(default=None, alias="_id")
128
128
  코드: str
129
129
  날짜: datetime
130
130
 
@@ -147,9 +147,9 @@ class C108(BaseModel):
147
147
  )
148
148
 
149
149
  class Dart(BaseModel):
150
- id: str | None = Field(alias="_id")
151
- 코드: str = Field(default=None, alias="stock_code") # 종목 코드 (6자리)
152
- 날짜: datetime = Field(default=None, alias="rcept_dt") # 접수 일자 (YYYYMMDD)
150
+ id: str | None = Field(default=None, alias="_id")
151
+ 코드: str | None= Field(default=None, alias="stock_code") # 종목 코드 (6자리)
152
+ 날짜: datetime | None = Field(default=None, alias="rcept_dt") # 접수 일자 (YYYYMMDD)
153
153
 
154
154
  corp_cls: str # 기업 구분 (예: 'K', 'Y', 'N')
155
155
  corp_code: str # 고유 회사 코드 (8자리)
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name = "db2_hj3415"
7
- version = "0.1.5"
7
+ version = "0.1.7"
8
8
  authors = [{name = "Hyungjin Kim", email = "hj3415@gmail.com"}]
9
9
  description = "Gathering the stock data by playwright"
10
10
  readme = "README.md"
File without changes
File without changes