def __init__(self, tracker, mirror, alignment, input_y, tilted=False, **kwargs): self._serial = kwargs.pop('serial', 'unsorted') self.tracker = tracker self.mirror = mirror self.tilted = tilted self.input_y = input_y self.alignment = None if alignment is not None: try: if alignment.alignment_date() is not None: self.alignment = alignment except AttributeError: try: file_data = load_object(alignment) if file_data.alignment_date() is not None: self.alignment = file_data except (AttributeError, IOError): # Input alignment file is not valid. pass if self.alignment is None: self.alignment = Alignment() self.tracker.devices['driver'].home() self.alignment.align(self.tracker, home=True, tilted=tilted, mirror=mirror) save_object(self.alignment, alignment) # Output data. self.data = []
def save_data(self, path): """Saves the data in a serialized object format to a gzipped tarball at the given path. To reopen the data, unpickle it using itop.utilities.load_object() """ output = list(self.data) output.insert(0, (self.input_y, self.alignment, self._serial)) save_object(output, path)