Account for the instance of submodules.pack.Packer #104184

Merged
Sybren A. Stüvel merged 5 commits from Nitin-Rawat-1/flamenco:104183-Error-submitting-job into main 2023-02-17 11:06:08 +01:00
Showing only changes of commit ea91a4e44e - Show all commits

View File

@ -8,7 +8,7 @@ import logging
import queue import queue
import threading import threading
import typing import typing
import traceback
dr.sybren marked this conversation as resolved

Please dont' include formatting changes. In general, cleanups of formatting (and other changes that don't alter the functionality) should be in a PR by themselves.

Please dont' include formatting changes. In general, cleanups of formatting (and other changes that don't alter the functionality) should be in a PR by themselves.
from . import submodules from . import submodules
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -54,6 +54,12 @@ class MsgDone(Message):
missing_files: list[Path] missing_files: list[Path]
@dataclass
class MsgDoneNotShaman(Message):
output_path: Path
missing_files: list[Path]
# MyPy doesn't understand the way BAT subpackages are imported. # MyPy doesn't understand the way BAT subpackages are imported.
class BatProgress(submodules.progress.Callback): # type: ignore class BatProgress(submodules.progress.Callback): # type: ignore
"""Report progress of BAT Packing to the given queue.""" """Report progress of BAT Packing to the given queue."""
@ -149,6 +155,7 @@ class PackThread(threading.Thread):
except BaseException as ex: except BaseException as ex:
log.error("Error packing with BAT: %s", ex) log.error("Error packing with BAT: %s", ex)
self.queue.put(MsgException(ex=ex)) self.queue.put(MsgException(ex=ex))
traceback.print_exc()
finally: finally:
with _packer_lock: with _packer_lock:
_running_packthread = None _running_packthread = None
@ -166,6 +173,11 @@ class PackThread(threading.Thread):
log.debug("done") log.debug("done")
self._set_bat_status("DONE") self._set_bat_status("DONE")
if isinstance(self.packer, submodules.pack.Packer):
msg = MsgDoneNotShaman(
self.packer.output_path, self.packer.missing_files
)
else:
msg = MsgDone( msg = MsgDone(
self.packer.output_path, self.packer.output_path,
self.packer.actual_checkout_path, self.packer.actual_checkout_path,