def generate_movie(self): if self.__p__.parameters_info_count == 0: self.getParser() self.__p__.prepareParameters() self.__save_members__() self.__pp_generator__ = PoincarePlotGenerator(parameters=self.__p__) message = self.__p__.validateParameters() if message: print(message) return self.info(valued_only=True) self.__process__(self.__process_file_for_movie__)
def start(self): """ method initiate show up of poincare progress bar """ self.__interrupted__ = False #parameter formatted_summary_statistics is used to store #calculated summary statistics if not self.params.formatted_summary_statistics == None: self.params.formatted_summary_statistics[:] = [] outcomes_exist_info = [] progressManager = ProgressDialogManager( self.parent, count=len(self.__data_vector_accessor_list__)) for data_vector_accessor in self.__data_vector_accessor_list__: parameters = \ data_vector_accessor.parameters_container.parameters.get(PoincarePlotParameters.NAME) # alias @IgnorePep8 parameters.prepareParameters() pp_generator = PoincarePlotGenerator( output_file_listener=self.params.output_file_listener, parameters=parameters) if self.params.save_csv == True: (ok, _) = pp_generator.precheck(data_vector_accessor.source_name) if ok == False: if pp_generator.outcome_exists: outcomes_exist_info.append( data_vector_accessor.source_name) continue message = parameters.validateParameters(self.params.check_level) if message: ErrorWindow(message=message) return count = pp_generator.segment_count( data_vector_accessor.data_vector) # @IgnorePep8 #add artificially 1% of the count to avoid the second show #of progress bar when in fact total number of segment count #is greater then total count calculated by segment_count method count = count + int(count * (1 / 100)) #extends label text with source name (if not None) label_text = "{0} [{1}]".format( self.label_text, nvl(data_vector_accessor.source_name, "")) with progressManager.initialize(label_text=label_text, max_value=count) as progress: start_progress = self.__StartProgress__() if not self.params.progress_handler == None: #give ability to pass custom progress handler progress_handler = self.params.progress_handler elif self.params.save_csv == True: progress_handler = self.__CSVProgressHandler__() else: progress_handler = self.__ProgressHandler__() progress_handler.progress = progress if self.params.save_csv == True: pp_generator.generate_CSV( data_vector_accessor.data_vector, data_vector_accessor.source_name, start_progress=start_progress, progress_handler=progress_handler) else: pp_generator.generate(data_vector_accessor.data_vector, start_progress=start_progress, progress_handler=progress_handler) #store information about interrupt signal if it has happened self.__interrupted__ = progress_handler.interrupted if self.__interrupted__ == False and \ not self.params.formatted_summary_statistics == None: self.params.formatted_summary_statistics.append( pp_generator.formatted_summary_statistics) #if interrupted break the whole loop if self.__interrupted__: return if len(outcomes_exist_info) > 0: message = "For the following files, outcomes already exist:" for outcome in outcomes_exist_info: message += ("\n" + outcome) InformationWindow(message=message)