def main(): contract = Contract(ProviderOne()) cost_providerone = Contract(ProviderOne()).provider cost_providertwo = Contract(ProviderTwo()).provider cost_providerthree = Contract(ProviderThree()).provider contract.number = 13456 assert cost_providerone == 10.00 assert cost_providertwo == 5.00 assert cost_providerthree == 7.0 bench1 = BenchMark('bench1') bench2 = BenchMark('bench2') print(bench1) print(bench2)
def export2json(data): """Export to json file Args: :param data(list): data list to be exported. Returns: int. The return code:: 0 -- Success! """ bm = BenchMark() bm.toggleOn('Dumping to json [ ]') with open('data.json', 'w') as outfile: json.dump(data, outfile, indent=4, ensure_ascii=False) bm.toggleOff('\bOK] - saved to data.json') return 0
def parse_xml(file_name, size=0, method="json"): """Parse single XML file into the separated XML instances. Args: :param file_name(str): Name of file within same level as root. :param size(int): Number of XML instances within XML file to be read. :param method(str): Export method(Default:Json). Returns: int. The return code:: 0 -- Success! """ # Set initial values count = 0 results = [] # add benchmark bm = BenchMark() global MAX_NUMBER_OF_PATENTS # create an XML Reader parser = xml.sax.make_parser() # turn off namespaces parser.setFeature(xml.sax.handler.feature_namespaces, 0) # turn off validation for DTD parser.setFeature(xml.sax.handler.feature_external_ges, False) # override the default Context Handler xml_patent_handler = PatentHandler() parser.setContentHandler(xml_patent_handler) try: with open(file_name) as citation: bm.toggleOn('Start processing [ ]') for xml_part in xml_documents(citation): # Cast string back to file-like object to parse parser.parse(cStringIO.StringIO(xml_part)) results.append( copy.deepcopy(xml_patent_handler.serialization())) count = count + 1 if not MAX_NUMBER_OF_PATENTS: if count == int(size): break # Clean up stack after processing one xml paragraph xml_patent_handler.reset() bm.add(0) bm.toggleOff(' \bOK] - ' + str(count) + ' patents ') if method == "json": export2json(results) return 0 except IOError as e: raise e
def _a_star_search(initial: Board, depth, admissable=False): """ Breath First Search algorithm. Also shows steps, new states and total states. """ Car.boardWidth = initial.board_width Car.boardHeight = initial.board_height Board.a_star_depth = depth hash_table.states_checked_hash_table = {} queue = {} star_value = initial.a_star_count(admissable) queue[star_value] = [initial] print(initial) while True: best_boards = find_best_boards(queue) for best_board in best_boards: next_boards = best_board.possible_next_boards() for board in next_boards: value = board.a_star_count(admissable) if value not in queue: queue[value] = [board] else: queue[value].append(board) BenchMark.steps_made += 1 print("") BenchMark.log_steps_made() BenchMark.log_time() BenchMark.log_states_count()
def a_star_search(initial: Board, depth, admissable=False): BenchMark.start_the_time() try: _a_star_search(initial, depth, admissable) except Win: BenchMark.log_time() BenchMark.log_states_count() exit(0)
def parse_xml(file_name, size = 0, method = "json"): """Parse single XML file into the separated XML instances. Args: :param file_name(str): Name of file within same level as root. :param size(int): Number of XML instances within XML file to be read. :param method(str): Export method(Default:Json). Returns: int. The return code:: 0 -- Success! """ # Set initial values count = 0 results = [] # add benchmark bm = BenchMark() global MAX_NUMBER_OF_PATENTS # create an XML Reader parser = xml.sax.make_parser() # turn off namespaces parser.setFeature(xml.sax.handler.feature_namespaces, 0) # turn off validation for DTD parser.setFeature(xml.sax.handler.feature_external_ges, False) # override the default Context Handler xml_patent_handler = PatentHandler() parser.setContentHandler(xml_patent_handler) try: with open(file_name) as citation: bm.toggleOn('Start processing [ ]') for xml_part in xml_documents(citation): # Cast string back to file-like object to parse parser.parse(cStringIO.StringIO(xml_part)) results.append(copy.deepcopy(xml_patent_handler.serialization())) count = count+1 if not MAX_NUMBER_OF_PATENTS: if count == int(size): break # Clean up stack after processing one xml paragraph xml_patent_handler.reset() bm.add(0) bm.toggleOff(' \bOK] - '+ str(count) + ' patents ') if method == "json": export2json(results) return 0 except IOError as e: raise e
def breath_search(initial: Board, total_time: int): """ Breath First Search algorithm. Also shows steps, new states and total states. """ hash_table.states_checked_hash_table = {} BenchMark.start_the_time() Car.boardWidth = initial.board_width Car.boardHeight = initial.board_height # initial board (stage 0) path = [] path.append([initial]) hash_table.states_checked_hash_table[hash(initial)] = [initial] print("initial state: ") print(initial) while True: nextPath = [] for board in path[-1]: try: nextPath.extend(board.possible_next_boards()) except Win: BenchMark.states_count = countPath(path) BenchMark.log_steps_made() BenchMark.log_time() BenchMark.log_states_count() return # exit(0) path.append(nextPath) BenchMark.states_count = countPath(path) BenchMark.steps_made += 1 print("") BenchMark.log_steps_made() BenchMark.log_time() BenchMark.log_states_count() if len(nextPath) == 0: print("States space is explored, no solution found...") print("Try freezing less cars.") return print(time.time() - BenchMark.start_time) if (time.time() - BenchMark.start_time) > total_time: print("This game is too hard for me! Aborting ....") return