예제 #1
0
def get_story_summary_from_model(story_summary_model):
    """Returns a domain object for an Oppia story summary given a
    story summary model.

    Args:
        story_summary_model: StorySummaryModel.

    Returns:
        StorySummary.
    """
    return story_domain.StorySummary(
        story_summary_model.id, story_summary_model.title,
        story_summary_model.description, story_summary_model.language_code,
        story_summary_model.version, story_summary_model.node_count,
        story_summary_model.story_model_created_on,
        story_summary_model.story_model_last_updated)
예제 #2
0
def compute_summary_of_story(story):
    """Create a StorySummary domain object for a given Story domain
    object and return it.

    Args:
        story: Story. The story object, for which the summary is to be computed.

    Returns:
        StorySummary. The computed summary for the given story.
    """
    story_model_node_count = len(story.story_contents.nodes)
    story_summary = story_domain.StorySummary(
        story.id, story.title, story.language_code, story.version,
        story_model_node_count, story.created_on, story.last_updated)

    return story_summary
예제 #3
0
    def setUp(self):
        super(StorySummaryTests, self).setUp()
        current_time = datetime.datetime.utcnow()
        time_in_millisecs = utils.get_time_in_millisecs(current_time)
        self.story_summary_dict = {
            'story_model_created_on': time_in_millisecs,
            'version': 1,
            'story_model_last_updated': time_in_millisecs,
            'description': 'description',
            'title': 'title',
            'node_count': 10,
            'language_code': 'en',
            'id': 'story_id'
        }

        self.story_summary = story_domain.StorySummary(
            'story_id', 'title', 'description', 'en', 1, 10,
            current_time, current_time)
예제 #4
0
    def test_story_summary_creation(self):
        curr_time = datetime.datetime.utcnow()
        story_summary = story_domain.StorySummary(
            'story_id', 'title', 'description', 'en', 1, 1, curr_time,
            curr_time)

        expected_dict = {
            'id': 'story_id',
            'title': 'title',
            'description': 'description',
            'language_code': 'en',
            'version': 1,
            'node_count': 1,
            'story_model_created_on': utils.get_time_in_millisecs(curr_time),
            'story_model_last_updated': utils.get_time_in_millisecs(curr_time),
        }

        self.assertEqual(story_summary.to_dict(), expected_dict)
예제 #5
0
def compute_summary_of_story(story):
    """Create a StorySummary domain object for a given Story domain
    object and return it.

    Args:
        story: Story. The story object, for which the summary is to be computed.

    Returns:
        StorySummary. The computed summary for the given story.
    """
    story_model_node_titles = [
        node.title for node in story.story_contents.nodes
    ]
    story_summary = story_domain.StorySummary(
        story.id, story.title, story.description, story.language_code,
        story.version, story_model_node_titles, story.thumbnail_bg_color,
        story.thumbnail_filename, story.created_on, story.last_updated)

    return story_summary
예제 #6
0
def get_story_summary_from_model(story_summary_model):
    """Returns a domain object for an Oppia story summary given a
    story summary model.

    Args:
        story_summary_model: StorySummaryModel. The story summary model object
            to get the corresponding domain object.

    Returns:
        StorySummary. The corresponding domain object to the given story
        summary model object.
    """
    return story_domain.StorySummary(
        story_summary_model.id, story_summary_model.title,
        story_summary_model.description, story_summary_model.language_code,
        story_summary_model.version, story_summary_model.node_titles,
        story_summary_model.thumbnail_bg_color,
        story_summary_model.thumbnail_filename,
        story_summary_model.story_model_created_on,
        story_summary_model.story_model_last_updated)