In [1]:
import sys
sys.path.append('../../')
from moviegoer.tables import film_id_from_film_directory, load_film_object
from random import choice
In [2]:
film_id = film_id_from_film_directory()
film_id
Out[2]:
'the_skeleton_key_2005'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: The Skeleton Key (2005)
File Runtime: 01:43:56
Film Runtime (No Credits): 1:37:20

*Technical Details*
Aspect Ratio: 2.35
Avg. Shot Duration: 8.98
Avg. Brightness: 31
Avg. Contrast: 26

*Dialogue Cadence*
Sentences Per Minute: 12
Words Per Sentence 5.22
Questions Per Minute: 1.80
Pct. Questions: 15%

*Emotion*
Pct. Upset Faces: 73%
Laughs Per Minute: 0.04
Profanity Per Minute: 0.11
Words Per Profanity: 547
Exclamations Per Minute: 0.52
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
6
No description has been provided for this image
*Plot Context*
Descriptors: ['indoors', 'standing', 'crowded']
Held Items: Counter({'microphone': 1})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'drinking': 15})
Establishing Shot Locations: Counter({'building': 6})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'drink': 23, 'cup': 10, 'cell phone': 2})
Active Actions: Counter({'drinking': 15})
Left Wearing: Counter({'black top': 2})
No description has been provided for this image
*Plot Context*
Named Participants: Counter({'ben': 1})
Descriptors: ['indoors', 'sitting']
Active Actions: Counter({'making': 12, 'open': 9, 'sleeping': 3, 'singing': 2, 'yawning': 1})
No description has been provided for this image
*Plot Context*
Descriptors: ['indoors', 'standing']
Held Items: Counter({'record': 4, 'stack of records': 1, 'finger': 1})
Active Actions: Counter({'using': 1, 'singing': 1, 'brushing': 1})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'dining': 101, 'violence': 19, 'transit': 9, 'nature': 2})
Potential Common Locations: Counter({'kitchen': 82})
Potential Other Locations: Counter({'doorway': 22, 'street': 13, 'forest': 2})
Named Participants: Counter({'caroline': 4, 'luke': 1})
Descriptors: ['indoors', 'standing', 'rain']
Held Items: Counter({'knife': 19, 'cell phone': 6, 'umbrella': 5, 'piece of paper': 5, 'hand out': 5, 'something': 5, 'bag': 4, 'book with a circle': 4, 'box': 3, 'book': 3, 'skateboard': 2, 'piece of wood': 2, 'knife over a dead animal': 2, 'nintendo wii game controller': 2, 'suitcase': 1, 'piece of luggage': 1, 'paper with a circle': 1, 'bat': 1, 'spatula': 1, 'knife over a wooden cutting board': 1, 'object': 1, 'animal': 1})
Active Actions: Counter({'open': 12, 'driving': 9, 'opening': 8, 'cutting': 7, 'cut': 6, 'reaching': 6, 'preparing': 5, 'riding': 4, 'lit': 4, 'reading': 3, 'hanging': 2, 'glowing': 2, 'getting': 1, 'perched': 1, 'used': 1, 'pointing': 1})
Left Wearing: Counter({'suit': 1, 'hooded jacket': 1, 'yellow shirt': 1, 'jacket': 1})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'violence': 25, 'dining': 25, 'drinking': 10})
Named Participants: Counter({'violet': 2})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'knife': 25, 'glass': 24, 'candles': 5, 'candle': 5, 'pen': 3, 'cell phone': 3, 'cigarette': 1, 'knife and fork': 1, 'object': 1, 'glass with a liquid': 1, 'glass of water': 1, 'glass of wine': 1})
Active Actions: Counter({'drinking': 9, 'pouring': 4, 'reaching': 2, 'lighting': 2, 'blowing': 1})
Out[4]:
[None, None, None, None, None, None]
In [5]:
film_obj.chart_all_dialogue_emotional_indicators()
No description has been provided for this image
In [6]:
film_obj.chart_all_dialogue_shape()
No description has been provided for this image
In [7]:
film_obj.chart_all_dialogue_question_proportion()
No description has been provided for this image
In [8]:
film_obj.display_color_shots()
In [9]:
rand_scene = None
if film_obj.dialogue_objects:
    rand_scene = choice(film_obj.dialogue_objects)
    rand_scene.display_qna_frames()
In [10]:
if rand_scene:
    rand_scene.display_first_p_sentence_frames()
In [11]:
if rand_scene:
    rand_scene.display_second_p_address_frames()
In [12]:
film_obj.display_laughs()
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[12]:
[]
In [13]:
film_obj.display_unintelligible_language()
In [14]:
film_obj.display_self_intros()
No description has been provided for this image
I'm Caroline.
No description has been provided for this image
I'm Caroline.
No description has been provided for this image
My name is Caroline Ellis.
In [15]:
film_obj.display_other_intros()
No description has been provided for this image
Caroline, this is Violet Devereaux.