Skip to content

Commit 4449722

Browse files
committed
fix: 移除 curseforge_fingerprints 表
mcmod-info-mirror/mcim-rust-api@35f054e
1 parent 499cf04 commit 4449722

File tree

3 files changed

+47
-38
lines changed

3 files changed

+47
-38
lines changed

mcim_sync/models/database/curseforge.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -188,21 +188,21 @@ class Pagination(BaseModel):
188188
totalCount: int
189189

190190

191-
class Fingerprint(Model):
192-
id: int = Field(primary_field=True, index=True)
193-
file: FileInfo
194-
latestFiles: List[FileInfo]
195-
196-
sync_at: datetime = Field(default_factory=datetime.utcnow)
197-
198-
model_config = {
199-
"collection": "curseforge_fingerprints",
200-
"indexes": [
201-
{"fields": ["file.id", "file.modId"], "name": "file.id_1_file.modId_1"},
202-
{"fields": ["_id"], "name": "_id_"},
191+
# class Fingerprint(Model):
192+
# id: int = Field(primary_field=True, index=True)
193+
# file: FileInfo
194+
# latestFiles: List[FileInfo]
195+
196+
# sync_at: datetime = Field(default_factory=datetime.utcnow)
197+
198+
# model_config = {
199+
# "collection": "curseforge_fingerprints",
200+
# "indexes": [
201+
# {"fields": ["file.id", "file.modId"], "name": "file.id_1_file.modId_1"},
202+
# {"fields": ["_id"], "name": "_id_"},
203203

204-
],
205-
}
204+
# ],
205+
# }
206206

207207

208208
class Category(Model):

mcim_sync/sync/curseforge.py

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
File,
88
Mod,
99
Pagination,
10-
Fingerprint,
10+
# Fingerprint,
1111
Category,
1212
)
1313
from mcim_sync.apis.curseforge import (
@@ -38,29 +38,30 @@
3838
}
3939

4040

41-
def append_model_from_files_res(res, latestFiles: List[dict]):
41+
def append_model_from_files_res(res):
4242
with ModelSubmitter() as submitter:
4343
for file in res["data"]:
4444
file_model = File(**file)
45-
submitter.add(
46-
Fingerprint(
47-
id=file["fileFingerprint"],
48-
file=file,
49-
latestFiles=latestFiles, # type: ignore
50-
)
51-
)
45+
# 不再使用 curseforge_fingerprints 表
46+
# submitter.add(
47+
# Fingerprint(
48+
# id=file["fileFingerprint"],
49+
# file=file,
50+
# latestFiles=latestFiles, # type: ignore
51+
# )
52+
# )
5253
submitter.add(file_model)
5354

5455

55-
def sync_mod_all_files(modId: int, latestFiles: List[dict]) -> int:
56+
def sync_mod_all_files(modId: int) -> int:
5657
params = {"index": 0, "pageSize": 50}
5758
file_id_list = []
5859

5960
original_files_count = mongodb_engine.count(File, File.modId == modId)
6061

6162
while True:
6263
res = get_mod_files(modId, params["index"], params["pageSize"])
63-
append_model_from_files_res(res, latestFiles=latestFiles)
64+
append_model_from_files_res(res)
6465
file_id_list.extend([file["id"] for file in res["data"]])
6566

6667
page = Pagination(**res["pagination"])
@@ -77,18 +78,22 @@ def sync_mod_all_files(modId: int, latestFiles: List[dict]) -> int:
7778
File, File.modId == modId, query.not_in(File.id, file_id_list)
7879
)
7980

80-
removed_fingerprint_count = mongodb_engine.remove(
81-
Fingerprint, query.not_in(Fingerprint.file.id, file_id_list)
82-
)
81+
# removed_fingerprint_count = mongodb_engine.remove(
82+
# Fingerprint, query.not_in(Fingerprint.file.id, file_id_list)
83+
# )
84+
85+
# log.info(
86+
# f"Finished sync mod {modId}, total {page.totalCount} files, removed {removed_file_count} files and {removed_fingerprint_count} fingerprints, original files {original_files_count}"
87+
# )
8388

8489
log.info(
85-
f"Finished sync mod {modId}, total {page.totalCount} files, removed {removed_file_count} files and {removed_fingerprint_count} fingerprints, original files {original_files_count}"
90+
f"Finished sync mod {modId}, total {page.totalCount} files, removed {removed_file_count} files, original files {original_files_count}"
8691
)
8792

8893
return page.totalCount
8994

9095

91-
def sync_mod_all_files_at_once(modId: int, latestFiles: List[dict]) -> Optional[int]:
96+
def sync_mod_all_files_at_once(modId: int) -> Optional[int]:
9297
max_retries = 3
9398
page_size = 10000
9499
for i in range(max_retries):
@@ -115,18 +120,22 @@ def sync_mod_all_files_at_once(modId: int, latestFiles: List[dict]) -> Optional[
115120

116121
original_files_count = mongodb_engine.count(File, File.modId == modId)
117122

118-
append_model_from_files_res(res, latestFiles=latestFiles)
123+
append_model_from_files_res(res)
119124

120125
removed_file_count = mongodb_engine.remove(
121126
File, File.modId == modId, query.not_in(File.id, file_id_list)
122127
)
123128

124-
removed_fingerprint_count = mongodb_engine.remove(
125-
Fingerprint, {"file.id": {"$nin": file_id_list}, "file.modId": modId} # 务必注意筛选 modId
126-
)
129+
# removed_fingerprint_count = mongodb_engine.remove(
130+
# Fingerprint, {"file.id": {"$nin": file_id_list}, "file.modId": modId} # 务必注意筛选 modId
131+
# )
132+
133+
# log.info(
134+
# f"Finished sync mod {modId}, total {page.totalCount} files, removed {removed_file_count} files and {removed_fingerprint_count} fingerprints, original files {original_files_count}"
135+
# )
127136

128137
log.info(
129-
f"Finished sync mod {modId}, total {page.totalCount} files, removed {removed_file_count} files and {removed_fingerprint_count} fingerprints, original files {original_files_count}"
138+
f"Finished sync mod {modId}, total {page.totalCount} files, removed {removed_file_count} files, original files {original_files_count}"
130139
)
131140

132141
return page.totalCount
@@ -141,12 +150,12 @@ def sync_mod(modId: int) -> Optional[ProjectDetail]:
141150
if mod_model.gameId == 432:
142151
# version_count = sync_mod_all_files(
143152
# modId,
144-
# latestFiles=res["latestFiles"],
153+
# # latestFiles=res["latestFiles"],
145154
# )
146155

147156
version_count = sync_mod_all_files_at_once(
148157
modId,
149-
latestFiles=res["latestFiles"],
158+
# latestFiles=res["latestFiles"],
150159
)
151160

152161
if version_count is None:

mcim_sync/utils/loger/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def __init__(self):
5656
backtrace=False,
5757
diagnose=False,
5858
filter=filter,
59-
serialize=True,
59+
serialize=False,
6060
)
6161

6262
def get_logger(self):

0 commit comments

Comments
 (0)