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]:
'red_2010'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: Red (2010)
File Runtime: 01:51:08
Film Runtime (No Credits): 1:43:57

*Technical Details*
Aspect Ratio: 2.39
Avg. Shot Duration: 9.13
Avg. Brightness: 62
Avg. Contrast: 46

*Dialogue Cadence*
Sentences Per Minute: 13
Words Per Sentence 4.73
Questions Per Minute: 1.78
Pct. Questions: 13%

*Emotion*
Pct. Upset Faces: 65%
Laughs Per Minute: 0.10
Profanity Per Minute: 0.13
Words Per Profanity: 470
Exclamations Per Minute: 1.15
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
14
*Plot Context*
Context Themes: Counter({'work': 17})
Potential Common Locations: Counter({'office': 11, 'cubicle': 6})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'magazine': 1, 'book': 1})
Active Actions: Counter({'hanging': 5, 'reading': 1, 'setting': 1, 'using': 1})
Left Wearing: Counter({'headset': 5})
*Plot Context*
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'cell phone': 6, 'blue makeup and a phone': 1})
Left Wearing: Counter({'headset': 11})
*Plot Context*
Descriptors: ['indoors']
Held Items: Counter({'candelabra': 39, 'candle': 10, 'bunch of candles': 2, 'lamp': 2})
Active Actions: Counter({'making': 3})
Right Wearing: Counter({'black jacket': 1})
*Plot Context*
Context Themes: Counter({'violence': 1, 'dining': 1})
Establishing Shot Locations: Counter({'building': 12})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'piece of paper': 7, 'knife': 1, 'hand': 1})
Active Actions: Counter({'taped': 7, 'lit': 6, 'covering': 5})
*Plot Context*
Establishing Shot Locations: Counter({'building': 59, 'airplane': 26, 'plane': 19})
Named Participants: Counter({'vietnam': 1, 'frank': 1})
*Plot Context*
Context Themes: Counter({'transit': 188, 'driving': 158})
Potential Common Locations: Counter({'car': 158, 'bus': 10})
Descriptors: ['indoors', 'sitting']
Active Actions: Counter({'driving': 20, 'open': 1})
*Plot Context*
Context Themes: Counter({'justice': 1})
Potential Other Locations: Counter({'jail cell': 1})
Establishing Shot Locations: Counter({'boat': 14, 'building': 2})
Descriptors: ['indoors']
Active Actions: Counter({'making': 2})
Left Wearing: Counter({'suit': 4, 'suit with a blue face': 2})
*Plot Context*
Context Themes: Counter({'transit': 5, 'aquatic': 5})
Potential Other Locations: Counter({'boat': 5})
Establishing Shot Locations: Counter({'building': 24, 'boat': 4})
Descriptors: ['sitting']
Held Items: Counter({'hand': 4, 'cell phone': 1, 'object': 1, 'piece of food': 1})
Active Actions: Counter({'flying': 5, 'stuffed': 3, 'folded': 1, 'praying': 1, 'making': 1, 'crossed': 1})
Left Wearing: Counter({'brown shirt': 4})
*Plot Context*
Context Themes: Counter({'transit': 380, 'driving': 363})
Potential Common Locations: Counter({'car': 363})
Establishing Shot Locations: Counter({'building': 14})
Descriptors: ['sitting']
Active Actions: Counter({'driving': 17})
*Plot Context*
Context Themes: Counter({'dining': 14, 'violence': 12, 'drinking': 11})
Establishing Shot Locations: Counter({'building': 12})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'glass': 15, 'bottle': 13, 'knife': 12, 'glass of water': 6, 'bottle of liquid': 2, 'bottle of water': 1, 'hand': 1, 'drink': 1, 'something': 1, 'hands together': 1, 'chest': 1})
Active Actions: Counter({'drinking': 11, 'covering': 4, 'covers': 2, 'eating': 2, 'brushing': 2, 'working': 1, 'cutting': 1, 'open': 1})
Right Wearing: Counter({'jacket': 12, 'green jacket': 10})
*Plot Context*
Establishing Shot Locations: Counter({'building': 20})
Descriptors: ['indoors']
Active Actions: Counter({'lit': 1})
*Plot Context*
Context Themes: Counter({'violence': 52})
Establishing Shot Locations: Counter({'building': 2})
Named Participants: Counter({'henry': 1})
Descriptors: ['indoors']
Right Wearing: Counter({'military uniform': 38})
*Plot Context*
Establishing Shot Locations: Counter({'building': 2})
Named Participants: Counter({'frank': 1})
Left Wearing: Counter({'suit': 2})
Right Wearing: Counter({'suit': 87})
*Plot Context*
Establishing Shot Locations: Counter({'building': 6})
Descriptors: ['indoors', 'standing']
Left Wearing: Counter({'suit': 33, 'suit standing': 2})
Right Wearing: Counter({'suit': 73})
Out[4]:
[None,
 None,
 None,
 None,
 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()
SPEAKING MANDARIN
IN FRENCH ACCENT
GREETING IN FOREIGN LANGUAGE
IVAN SPEAKING FOREIGN LANGUAGE
In [14]:
film_obj.display_self_intros()
In [15]:
film_obj.display_other_intros()