use DAQTask in Acquisitions, moved Acquisition.can_create_all_filenames() to utils.path
This commit is contained in:
@@ -3,7 +3,7 @@ from abc import abstractmethod
|
||||
|
||||
from slic.utils.channels import Channels
|
||||
from slic.utils import can_create_file, typename
|
||||
from slic.core.task import Task
|
||||
from slic.core.task import DAQTask
|
||||
|
||||
from .baseacquisition import BaseAcquisition
|
||||
from .sfpaths import SwissFELPaths
|
||||
@@ -42,7 +42,7 @@ class Acquisition(BaseAcquisition):
|
||||
channels = self.default_channels
|
||||
|
||||
acq = lambda: self._acquire(filename, channels, **kwargs)
|
||||
return Task(acq, hold=False)
|
||||
return DAQTask(acq, filename=filename, hold=False)
|
||||
|
||||
|
||||
@abstractmethod
|
||||
|
||||
@@ -3,8 +3,8 @@ from time import sleep
|
||||
from detector_integration_api import DetectorIntegrationClient
|
||||
|
||||
from slic.utils.channels import Channels
|
||||
from slic.utils import can_create_file
|
||||
from slic.core.task import Task
|
||||
from slic.utils import can_create_all_files
|
||||
from slic.core.task import DAQTask
|
||||
|
||||
from .baseacquisition import BaseAcquisition
|
||||
from .diaconfig import DIAConfig, EXPTIME
|
||||
@@ -42,7 +42,8 @@ class DIAAcquisition(BaseAcquisition):
|
||||
if filename:
|
||||
if use_default_dir:
|
||||
filename = os.path.join(self.default_dir, filename)
|
||||
if not self.can_create_all_files(filename):
|
||||
filenames = self.make_all_filenames(filename)
|
||||
if not can_create_all_files(filenames):
|
||||
return
|
||||
else:
|
||||
filename = "/dev/null"
|
||||
@@ -65,15 +66,9 @@ class DIAAcquisition(BaseAcquisition):
|
||||
self.wait_until_finished()
|
||||
self.client.reset()
|
||||
|
||||
return Task(_acquire, stopper=self.client.stop, hold=False)
|
||||
return DAQTask(_acquire, stopper=self.client.stop, filenames=filenames, hold=False)
|
||||
|
||||
|
||||
def can_create_all_files(self, base):
|
||||
for fn in self.make_all_filenames(base):
|
||||
if not can_create_file(fn):
|
||||
return False
|
||||
return True
|
||||
|
||||
def make_all_filenames(self, base):
|
||||
res = []
|
||||
for client in self.active_clients:
|
||||
|
||||
@@ -6,7 +6,7 @@ from .elog import Elog
|
||||
from .ipy import devices
|
||||
from .json import json_save, json_load
|
||||
from .npy import fraction_to_percentage, within, within_fraction, get_dtype, get_shape, is_array
|
||||
from .path import can_create_file, glob_files, make_missing_dir
|
||||
from .path import can_create_all_files, can_create_file, glob_files, make_missing_dir
|
||||
from .pv import PV
|
||||
from .screenshot import Screenshot
|
||||
|
||||
|
||||
@@ -4,6 +4,13 @@ from pathlib import Path
|
||||
from .ask_yes_no import ask_yes_No
|
||||
|
||||
|
||||
def can_create_all_files(filenames):
|
||||
for fn in filenames:
|
||||
if not can_create_file(fn):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def can_create_file(filename):
|
||||
if not os.path.isfile(filename):
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user