def init_srm_solution(search_term): folder_name = make_folder_name(search_term) search_term = replace_srm(search_term) print ('Initing environment for SRM "%s"...' % folder_name) provider = Provider(conf.database_path) srms = provider.find_srms(search_term) if len(srms) == 0: print ('Updating SRM list...') provider.update_srm_list() srms = provider.find_srms(search_term) if len(srms) == 0: print ('ERROR: Sorry, I couldn\'t find the SRM you\'re looking for.') return 1 srm = None if len(srms) == 1: srm = srms[0] else: while srm == None: for i in range(0, len(srms)): print (str(i) + ') "' + srms[i].title + '"') number = raw_input('More than one SRM was found. Which one were you looking for?') try: srm = srms[int(number)] except: pass srm.problems = provider.get_srm_problems(srm) if srm.problems == None or len(srm.problems) == 0: print ('Retreiving SRM data...') conn = create_conn_and_login() conn.fill_whole_srm(srm) conn.close() provider.insert_srm_data(srm) # create folder & associate folder os.makedirs(folder_name) provider.associate_folder(folder_name, srm) provider.close() # generate harness generator = HarnessGenerator(conf) generator.generate(os.path.join(folder_name, 'harness.cpp'), 'cpp', srm, 'solution.cpp') # create a solution.cpp file generator = SolutionGenerator(conf) generator.generate(os.path.join(folder_name, 'solution.cpp'), 'cpp', srm) # finito print ('Solution ready at %s/solution.cpp. Good luck.' % folder_name) return 0
def update_and_get_srms(self): provider = None try: provider = Provider(self.conf.database_path) provider.update_srm_list() finally: provider.close() return None