Skip to content

Commit

Permalink
fix doonce error
Browse files Browse the repository at this point in the history
  • Loading branch information
StardustDL committed Feb 19, 2024
1 parent c3d5cf8 commit ad9f4b5
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 8 deletions.
20 changes: 15 additions & 5 deletions index/processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,9 @@ def hasDone(self, type: str, id: str):

def doOnce(self, type: str, id: str):
if self.hasDone(type, id):
return None
res = self.db[f"{type}:{id}"]
assert res is not None
return res
@contextmanager
def wrapper():
with self.db.do(f"{type}:{id}", self.workerVersion):
Expand All @@ -114,7 +116,9 @@ def version(self, release: Release):
wheelDir = self.cacheDist.projectDir(release.project) / "wheels"
utils.ensureDirectory(wheelDir)
wrapper = self.doOnce(JOB_PREPROCESS, str(release))
if wrapper:
if isinstance(wrapper, ProcessResult):
assert wrapper.state == ProcessState.SUCCESS, "not success"
else:
with wrapper():
env.logger.info(f"Preprocess release {release}")
result = self.worker.preprocess(
Expand All @@ -129,7 +133,9 @@ def version(self, release: Release):
result.save(dis)
result.ensure().save(self.dist.preprocess(release))
wrapper = self.doOnce(JOB_EXTRACT, str(release))
if wrapper:
if isinstance(wrapper, ProcessResult):
assert wrapper.state == ProcessState.SUCCESS, "not success"
else:
with wrapper():
env.logger.info(f"Extract release {release}")
result = self.worker.extract([str(self.worker.resolvePath(dis)), "-"])
Expand All @@ -145,7 +151,9 @@ def pair(self, pair: ReleasePair):
rep = self.cacheDist.report(pair)

wrapper = self.doOnce(JOB_DIFF, str(pair))
if wrapper:
if isinstance(wrapper, ProcessResult):
assert wrapper.state == ProcessState.SUCCESS, "not success"
else:
with wrapper():
env.logger.info(f"Diff releas pair {pair}")
result = self.worker.diff(
Expand All @@ -158,7 +166,9 @@ def pair(self, pair: ReleasePair):
result.save(cha)
result.ensure().save(self.dist.diff(pair))
wrapper = self.doOnce(JOB_REPORT, str(pair))
if wrapper:
if isinstance(wrapper, ProcessResult):
assert wrapper.state == ProcessState.SUCCESS, "not success"
else:
with wrapper():
env.logger.info(f"Report releas pair {pair}")
result = self.worker.report([str(self.worker.resolvePath(cha)), "-"])
Expand Down
13 changes: 10 additions & 3 deletions index/std.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
JOB_EXTRACT,
JOB_PREPROCESS,
JOB_REPORT,
ProcessResult,
ProcessState,
Processor,
)
from .aexpyw import AexPyResult, AexPyWorker
Expand Down Expand Up @@ -51,7 +53,8 @@ def __init__(self, db: ProcessDB, dist: DistPathBuilder) -> None:
@override
def version(self, release):
wrapper = self.doOnce(JOB_EXTRACT, str(release))
if not wrapper:
if isinstance(wrapper, ProcessResult):
assert wrapper.state == ProcessState.SUCCESS, "not success"
return

dis = self.cacheDist.preprocess(release)
Expand Down Expand Up @@ -141,13 +144,17 @@ def pair(self, pair):
cha = self.cacheDist.diff(pair)
rep = self.cacheDist.report(pair)
wrapper = self.doOnce(JOB_DIFF, str(pair))
if wrapper:
if isinstance(wrapper, ProcessResult):
assert wrapper.state == ProcessState.SUCCESS, "not success"
else:
with wrapper():
result = self.worker.diff([str(oldA), str(newA), "-"])
result.save(cha)
result.ensure().save(self.dist.diff(pair))
wrapper = self.doOnce(JOB_REPORT, str(pair))
if wrapper:
if isinstance(wrapper, ProcessResult):
assert wrapper.state == ProcessState.SUCCESS, "not success"
else:
with wrapper():
result = self.worker.report([str(cha), "-"])
result.save(rep)
Expand Down

0 comments on commit ad9f4b5

Please sign in to comment.