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]:
'operation_endgame_2010'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: Operation Endgame (2010)
File Runtime: 01:22:07
Film Runtime (No Credits): 1:19:28

*Technical Details*
Aspect Ratio: 2.39
Avg. Shot Duration: 10.16
Avg. Brightness: 54
Avg. Contrast: 41

*Dialogue Cadence*
Sentences Per Minute: 17
Words Per Sentence 5.69
Questions Per Minute: 2.72
Pct. Questions: 16%

*Emotion*
Pct. Upset Faces: 65%
Laughs Per Minute: 0.09
Profanity Per Minute: 2.27
Words Per Profanity: 42
Exclamations Per Minute: 1.30
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
10
*Plot Context*
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'smoking': 6})
*Plot Context*
Descriptors: ['sitting']
Active Actions: Counter({'making': 7, 'open': 1})
Left Wearing: Counter({'suit': 35})
Right Wearing: Counter({'suit': 29})
*Plot Context*
Potential Other Locations: Counter({'stairwell': 1})
Establishing Shot Locations: Counter({'building': 3})
Descriptors: ['indoors', 'standing']
*Plot Context*
Context Themes: Counter({'work': 8})
Potential Common Locations: Counter({'office': 8, 'bathroom': 6})
Potential Other Locations: Counter({'hallway': 2})
Descriptors: ['indoors', 'standing']
*Plot Context*
Named Participants: Counter({'neil': 1})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'cell phone': 5, 'phone': 3, 'toothbrush': 1})
Left Wearing: Counter({'suit': 16})
Right Wearing: Counter({'suit': 4})
*Plot Context*
Descriptors: ['standing']
Active Actions: Counter({'smoking': 26, 'writing': 1, 'brushing': 1, 'posing': 1})
Left Wearing: Counter({'hat': 21, 'hat standing': 13, 'black hat': 13, 'black jacket': 3, 'black suit': 1})
Right Wearing: Counter({'shirt': 3})
*Plot Context*
Descriptors: ['indoors', 'standing']
*Plot Context*
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'adjusting': 12, 'displaying': 10})
*Plot Context*
Context Themes: Counter({'drinking': 2})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'bottle': 4, 'cell phone': 4, 'glass': 3, 'banana': 3, 'piece of food': 2, 'something': 1})
Active Actions: Counter({'drinking': 2, 'smoking': 1})
Left Wearing: Counter({'suit': 74})
*Plot Context*
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'covering': 3, 'covers': 2})
Right Wearing: Counter({'jacket': 9, 'shirt': 6, 'white shirt': 2})
Out[4]:
[None, None, None, 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()