def test_simple_object3(): serializer = Json.Json() strdata = serializer.dumps(sum) print(strdata, 'hi') fromstrdata = serializer.loads(strdata) print(fromstrdata) import inspect print(inspect.getsource(fromstrdata)) print(fromstrdata(5)) print(fromstrdata, '3 usual') print(dir(fromstrdata), '5 dir') print(dir(fromstrdata), '5 dir') print(dir(sum), '6 dir') assert roune._function_equals(sum, fromstrdata)
def deserialize(self, format, filepath): self.deserialize = None if format == 'JSON': self.deserialize = Json.Json() elif format == 'TOML': self.deserialize = Toml.TomlSerializer() elif format == 'YAML': self.deserialize = Yaml.Yaml() elif format == 'PICLE': self.deserialize = Pickle.Pickle() with open(filepath, 'rb') as f: return self.deserialize.load(f) else: logging.error("Unsuported type from dump ") exit() return self.deserialize.load(filepath)
def serialize(self, obj, format, filepath): self.serialize = None print(format) if format == 'JSON': self.serialize = Json.Json() elif format == 'TOML': self.serialize = Toml.TomlSerializer() elif format == 'YAML': self.serialize = Yaml.Yaml() elif format == 'PICLE': self.serialize = Pickle.Pickle() with open(filepath, 'wb') as f: return self.serialize.dump(obj, f) else: logging.error("Unsuported type from load ") exit() return self.serialize.dump(obj, filepath)
class Yaml: # According to yaml spec json is valid yaml, so we just can use json # https://yaml.org/spec/1.2/spec.html json_parsers = Json.Json() def dump(self,string,filepath): return self.json_parsers.dump(string,filepath) def dumps(self,string): return self.json_parsers.dumps(string) def loads(self,string, complex_convert=True): return self.json_parsers.loads(string, complex_convert) def load(self,filepath, complex_convert=True): return self.json_parsers.load(filepath, complex_convert)
from Server import * from CityParser import * from Json import * if __name__ == '__main__': server = Server() city_parser = Cities_parser() #city_urls = city_parser.get_city_urls(server) ### Json ### json_string = '{ "tags": null, "display_hours": [{"days": "So", "times": ["17:00 - 00:00"] },{"days": "Di - Do", "times"' \ ': ["17:00 - 00:00"] },{ "days": "Fr - Sa", "times": ["12:00 - 15:30", "19:00 - 00:30"] }]}' json_string = '{ "display_hours":[ { "days": "So - Mi", "times": ["12:00 - 14:30", "18:00 - 22:00"] }] }' parser = Json() json = parser.string_to_json(json_string) display_hours = json['display_hours'] days_list = parser.get_working_list_from_json(display_hours) pass