diff --git a/data b/data index 9d04917..2934e41 160000 --- a/data +++ b/data @@ -1 +1 @@ -Subproject commit 9d049174372892e7a01195addeb07d6ca43b052b +Subproject commit 2934e4126602be0fa6e6265f04dac505a0d80ce4 diff --git a/data_model/actual_data/reference_data.py b/data_model/actual_data/reference_data.py index 21a3929..fcb4e63 100644 --- a/data_model/actual_data/reference_data.py +++ b/data_model/actual_data/reference_data.py @@ -34,6 +34,11 @@ def check_data_loaded(self): if not self.is_data_loaded(): raise RuntimeError + @property + def ref_instance(self): + self.check_data_loaded() + return self._ref_instance + class ReferenceFile(FileLoader, InterpageMixin, IParentData): _instance = {} diff --git a/data_model/actual_data/story.py b/data_model/actual_data/story.py index 8ad58be..7b22237 100644 --- a/data_model/actual_data/story.py +++ b/data_model/actual_data/story.py @@ -11,6 +11,7 @@ from ._story.story_source_all import StoryInfoSource from ..tool.parent_data import IParentData from ..tool.interpage import InterpageMixin +from .reference_data import ReferenceData from collections import OrderedDict @@ -213,6 +214,26 @@ def _get_instance_offset(self, offset: int): return instance + @property + def interpage_prev(self): + try: + self.data["interpage"]["prev"] + except KeyError: + return super().interpage_prev + else: + ref_data = self.data["interpage"]["prev"] + return ReferenceData(ref_data["module_name"], ref_data["model_name"], ref_data["instance_id"]).ref_instance + + @property + def interpage_next(self): + try: + self.data["interpage"]["next"] + except KeyError: + return super().interpage_next + else: + ref_data = self.data["interpage"]["next"] + return ReferenceData(ref_data["module_name"], ref_data["model_name"], ref_data["instance_id"]).ref_instance + class StoryInfoBond(FileLoader, IParentData, InterpageMixin): """Basically a modified class from StoryInfo"""