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]:
'fracture_2007'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: Fracture (2007)
File Runtime: 01:53:26
Film Runtime (No Credits): 1:46:36

*Technical Details*
Aspect Ratio: 2.35
Avg. Shot Duration: 10.69
Avg. Brightness: 47
Avg. Contrast: 43

*Dialogue Cadence*
Sentences Per Minute: 14
Words Per Sentence 5.62
Questions Per Minute: 2.26
Pct. Questions: 16%

*Emotion*
Pct. Upset Faces: 66%
Laughs Per Minute: 0.02
Profanity Per Minute: 0.22
Words Per Profanity: 370
Exclamations Per Minute: 0.08
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
7
*Plot Context*
Context Themes: Counter({'fancy': 49, 'transit': 1, 'driving': 1})
Potential Common Locations: Counter({'car': 1})
Potential Other Locations: Counter({'garage': 74, 'city': 2})
Establishing Shot Locations: Counter({'building': 25})
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'adjusting': 11, 'making': 1})
Left Wearing: Counter({'suit': 75})
Right Wearing: Counter({'tuxedo': 44, 'suit': 13})
*Plot Context*
Named Participants: Counter({'wllly': 1})
Descriptors: ['indoors']
Active Actions: Counter({'writing': 9})
Right Wearing: Counter({'suit': 20})
*Plot Context*
Context Themes: Counter({'justice': 15})
Potential Other Locations: Counter({'jail cell': 15})
Establishing Shot Locations: Counter({'building': 1})
Named Participants: Counter({'wllly': 2, 'ted': 1, 'willy': 1})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'suitcase': 9, 'briefcase': 5, 'cell phone': 4, 'piece of paper': 4, 'toothbrush': 1})
Active Actions: Counter({'reaching': 13, 'pointing': 2, 'glowing': 2})
Right Wearing: Counter({'suit': 32})
*Plot Context*
Establishing Shot Locations: Counter({'building': 9})
Left Wearing: Counter({'suit': 59})
Right Wearing: Counter({'suit': 15})
*Plot Context*
Context Themes: Counter({'drinking': 6})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'hand': 19, 'cup': 1, 'coffee cup': 1})
Active Actions: Counter({'covering': 12, 'drinking': 6})
Left Wearing: Counter({'shirt': 13})
Right Wearing: Counter({'suit': 10})
*Plot Context*
Establishing Shot Locations: Counter({'building': 7})
Descriptors: ['indoors']
Active Actions: Counter({'tie': 2, 'singing': 1, 'adjusting': 1})
Left Wearing: Counter({'suit': 33})
Right Wearing: Counter({'suit': 57})
*Plot Context*
Context Themes: Counter({'violence': 11})
Potential Other Locations: Counter({'hallway': 27, 'building': 1})
Named Participants: Counter({'willy': 1})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'cell phone': 20, 'gun': 11, 'camera': 3, 'hand': 2, 'finger': 1})
Active Actions: Counter({'folded': 1, 'using': 1, 'pointing': 1})
Out[4]:
[None, None, None, None, None, None, None]
In [5]:
film_obj.chart_all_dialogue_emotional_indicators()
In [6]:
film_obj.chart_all_dialogue_shape()
In [7]:
film_obj.chart_all_dialogue_question_proportion()
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()
Out[12]:
[]
In [13]:
film_obj.display_unintelligible_language()
In [14]:
film_obj.display_self_intros()
In [15]:
film_obj.display_other_intros()
WlLLY This is Willy Beachum.