v0.2.4 基本可用型

This commit is contained in:
2025-07-25 22:04:46 +08:00
parent c679704e56
commit 3411765be7
9 changed files with 77 additions and 31 deletions

View File

@@ -3,10 +3,10 @@ import particles as pt
import pathlib
import auxiliary as aux
class Parser():
"""轻量级版本文件解析器, 用于解析记忆状态"""
"""轻量级版本文件解析器, 用于文件管理器的记忆状态解析"""
class Reactor():
"""反应堆对象, 用于处理 & 分配一次文件记忆流程的资源/策略"""
"""反应堆对象, 用于全面解析文件, 并处理和分配一次文件记忆流程的资源策略"""
def __init__(self, nucleon_file: pt.AtomicFile, electron_file: pt.AtomicFile, tasked_num):
# 导入原子对象
self.reported = set()
@@ -15,14 +15,28 @@ class Reactor():
self.tasked_num = tasked_num
self.atoms_new = list()
self.atoms_review = list()
counter = self.tasked_num
electron_dict = {elect.content: elect for elect in electron_file.datalist}
self.electron_dict = {elect.content: elect for elect in electron_file.datalist}
def electron_dict_get_fallback(key) -> pt.Electron:
value = self.electron_dict.get(key)
# 如果值不存在,则设置默认值
if value is None:
value = pt.Electron(key, {}) # 获取默认值
self.electron_dict[key] = value # 将默认值存入字典
value = self.electron_dict[key]
return value # 返回获取的值(可能是默认值)
for nucleon in nucleon_file.datalist:
atom = (electron_dict.get(nucleon_file, pt.Electron.placeholder()), nucleon)
atom = (electron_dict_get_fallback(nucleon.content), nucleon)
if atom[0].is_activated == 0:
atom[0].is_activated = 1
self.atoms_new.append(atom)
if counter > 0:
atom[0].is_activated = 1
self.atoms_new.append(atom)
counter -= 1
else:
if atom[0].next_date <= aux.get_daystamp():
atom[0].last_date = aux.get_daystamp()
@@ -81,7 +95,11 @@ class Reactor():
def save(self):
print("Progress saved")
self.nucleon_file.save()
# self.nucleon_file.save()
temp = list()
for i in self.electron_dict.keys():
temp.append(self.electron_dict[i])
self.electron_file.datalist = temp
self.electron_file.save()
def report(self, atom, quality):