def from_json(json_data: Dict) -> Union["Item", None]: if json_data is None: return None use_function = eval( json_data["use_function"] ) if json_data["use_function"] is not None else None targeting = json_data["targeting"] targeting_message = Message.from_json(json_data["targeting_message"]) function_kwargs = json_data["function_kwargs"] item = Item(use_function=use_function, targeting=targeting, targeting_message=targeting_message, **function_kwargs) return item
def from_json(cls, json_data: dict): use_function_name = json_data.get('use_function') targeting = json_data.get('targeting') targeting_message_json = json_data.get('targeting_message') function_kwargs = json_data.get('function_kwargs', {}) if use_function_name: use_function = getattr(item_functions, use_function_name) else: use_function = None if targeting_message_json: targeting_message = Message.from_json(targeting_message_json) else: targeting_message = None return cls(use_function, targeting, targeting_message, **function_kwargs)
def from_json(json_data): use_function_name = json_data.get('use_function') targeting = json_data.get('targeting') targeting_message_json = json_data.get('targeting_message') function_kwargs = json_data.get('function_kwargs', {}) stackable_data = json_data.get('stackable') number_data = json_data.get('number') if use_function_name: use_function = getattr(item_functions, use_function_name) else: use_function = None if targeting_message_json: targeting_message = Message.from_json(targeting_message_json) else: targeting_message = None item = Item(use_function, targeting, targeting_message, stackable=stackable_data, number=number_data, **function_kwargs) return item
def from_json(cls, json_data) -> Item: use_function_name = json_data.get("use_function_name") targeting = json_data.get("targeting") targeting_message_data = json_data.get("targeting_message") function_kwargs = json_data.get("function_kwargs", {}) if use_function_name: use_function = getattr(item_functions, use_function_name) else: use_function = None if targeting_message_data: targeting_message = Message.from_json(targeting_message_data) else: targeting_message = None item = cls(use_function=use_function, targeting=targeting, targeting_message=targeting_message, **function_kwargs) return item