def get(): # print(request.args) region = request.args.get('r_region') case = request.args.get('r_case') benefit = request.args.get('r_benefit') number = request.args.get('r_number') location = request.args.get('r_location') token = request.args.get('r_token') # print('*****', token) req = Request() req.create_request(region, benefit, case, number, location) req.send_request() jp = JsonParser(req.rec_response()) jp.parse(token) status_code = Response(status=200) if token: try: db = DataBase() db.add_to_history(token, region, benefit, case, number, location) except Exception as e: print('error while adding history row:' + str(e)) pass # print(jp.response) return jsonify(jp.response)
class IO: def __init__(self): self.parser = JsonParser() self.text = '' self.read_text() def read_text(self): with open('timetable.json', 'r', encoding='utf-8') as file: self.text = file.read() def get_input_timetable(self): return self.parser.parse(self.text) def get_input_timetable_by_loads(self): return json.loads(self.text) def single_speed_test(self, parse_function, number: int = 1000): start_time = datetime.now() for i in range(number): parse_function() end_time = datetime.now() all_time = (end_time - start_time).total_seconds() return all_time def speed_test(self, number: int = 1000): my_time = self.single_speed_test(self.get_input_timetable, number) lib_time = self.single_speed_test(self.get_input_timetable_by_loads, number) print('my_time:', my_time) print('lib_time:', lib_time) @staticmethod def write_output_timetable(timetable): with open('timetable.serialized', 'wb') as file: file.write(timetable.SerializeToString()) @staticmethod def get_serialized_timetable(): timetable = timetable_pb2.TimeTable() with open('timetable.serialized', 'rb') as file: timetable.ParseFromString(file.read()) return timetable
raise ValueError("ERROR: Try to send an empty request") def rec_response(self): return self.response def to_ascii_url(self, text): # remove white spaces around text = text.strip() #remove duplicated spaces text = " ".join(text.split()) # replace spaces by '%20' text = text.replace(" ", "%20") # strip right non ascii characters # urllib cant send utf-8 characters and # host doesn't 'understand' encoded ones for c in range(len(text)): if ord(text[c]) >= 128: return text[:c] return text # for testing purposes if __name__ == "__main__": reqiest = Request() reqiest.create_request('01', 'poradnia', 1) reqiest.send_request() from jsonparser import JsonParser jp = JsonParser(reqiest.rec_response()) jp.parse()
def load_python(self, f): ss = f.read() jparser = JsonParser(ss) self._dd = jparser.parse()
def loads(self, ss): jparser = JsonParser(ss) self._dd = jparser.parse()