使用 NucleonUnion & ElectronUnion 取代繁琐的 AtomicFiles
This commit is contained in:
20
reactor.py
20
reactor.py
@@ -7,7 +7,7 @@ class Parser():
|
||||
|
||||
class Reactor():
|
||||
"""反应堆对象, 用于全面解析文件, 并处理和分配一次文件记忆流程的资源与策略"""
|
||||
def __init__(self, nucleon_file: pt.AtomicFile, electron_file: pt.AtomicFile, tasked_num):
|
||||
def __init__(self, nucleon_file: pt.NucleonUnion, electron_file: pt.ElectronUnion, tasked_num):
|
||||
# 导入原子对象
|
||||
self.reported = set()
|
||||
self.nucleon_file = nucleon_file
|
||||
@@ -17,7 +17,7 @@ class Reactor():
|
||||
self.atoms_review = list()
|
||||
counter = self.tasked_num
|
||||
|
||||
self.electron_dict = {elect.content: elect for elect in electron_file.datalist}
|
||||
self.electron_dict = electron_file.electrons_dict
|
||||
|
||||
def electron_dict_get_fallback(key) -> pt.Electron:
|
||||
value = self.electron_dict.get(key)
|
||||
@@ -26,20 +26,20 @@ class Reactor():
|
||||
if value is None:
|
||||
value = pt.Electron(key, {}) # 获取默认值
|
||||
self.electron_dict[key] = value # 将默认值存入字典
|
||||
value = self.electron_dict[key]
|
||||
electron_file.sync()
|
||||
|
||||
return value # 返回获取的值(可能是默认值)
|
||||
|
||||
for nucleon in nucleon_file.datalist:
|
||||
for nucleon in nucleon_file.nucleons:
|
||||
atom = (electron_dict_get_fallback(nucleon.content), nucleon)
|
||||
if atom[0].is_activated == 0:
|
||||
if atom[0]["is_activated"] == 0:
|
||||
if counter > 0:
|
||||
atom[0].is_activated = 1
|
||||
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()
|
||||
if atom[0]["next_date"] <= aux.get_daystamp():
|
||||
atom[0]["last_date"] = aux.get_daystamp()
|
||||
self.atoms_review.append(atom)
|
||||
# 设置运行时
|
||||
self.index: int
|
||||
@@ -96,10 +96,6 @@ class Reactor():
|
||||
def save(self):
|
||||
print("Progress saved")
|
||||
# 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):
|
||||
|
Reference in New Issue
Block a user