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 threading
import typing
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.
import traceback
from . import submodules
log = logging.getLogger(__name__)
@ -54,6 +54,12 @@ class MsgDone(Message):
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.
class BatProgress(submodules.progress.Callback): # type: ignore
"""Report progress of BAT Packing to the given queue."""
@ -149,6 +155,7 @@ class PackThread(threading.Thread):
except BaseException as ex:
log.error("Error packing with BAT: %s", ex)
self.queue.put(MsgException(ex=ex))
traceback.print_exc()
finally:
with _packer_lock:
_running_packthread = None
@ -166,11 +173,16 @@ class PackThread(threading.Thread):
log.debug("done")
self._set_bat_status("DONE")
msg = MsgDone(
self.packer.output_path,
self.packer.actual_checkout_path,
self.packer.missing_files,
)
if isinstance(self.packer, submodules.pack.Packer):
msg = MsgDoneNotShaman(
self.packer.output_path, self.packer.missing_files
)
else:
msg = MsgDone(
self.packer.output_path,
self.packer.actual_checkout_path,
self.packer.missing_files,
)
self.queue.put(msg)
def _set_bat_status(self, status: str) -> None: