class BlackboardAnalysisTools: """ Contains all the tools to analyse Blackboard assignments """ def __init__(self): self.settings = Settings() self.timing_analyser = TimingAnalyser() self.mylogger = Logger(self.settings.logfile) self.reporter = Reporter(self.settings) self.unzipper = Unzipper(self.settings.input_path, self.settings.output_path, self.mylogger, self.reporter) self.analyser = Analyser(self.settings.input_path, self.settings.output_path, self.mylogger, self.settings, self.reporter) self.input_output = InputOutput(self.settings.input_path, self.settings.output_path, self.mylogger, self.settings, self.reporter, self.analyser) def run(self): #""" Run the program (call this from main) """ self.unzipper.generate_zip_files_list() self.unzipper.unzip() self.analyser.generate_txt_files_list() self.analyser.analyse_txt_files() self.input_output.run() #TODO does not work because of cyclic passing of instances self.reporter.write_statistics(self.analyser.studentnames_list) self.input_output.cleanup() def exit_value(self): #"""TODO: Generate the exit value for the application.""" #if (self.errors == 0): if (True): return 0 else: return 42
def __init__(self): self.settings = Settings() self.timing_analyser = TimingAnalyser() self.mylogger = Logger(self.settings.logfile) self.reporter = Reporter(self.settings) self.unzipper = Unzipper(self.settings.input_path, self.settings.output_path, self.mylogger, self.reporter) self.analyser = Analyser(self.settings.input_path, self.settings.output_path, self.mylogger, self.settings, self.reporter) self.input_output = InputOutput(self.settings.input_path, self.settings.output_path, self.mylogger, self.settings, self.reporter, self.analyser)