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_invasion_2007'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: The Invasion (2007)
File Runtime: 01:39:21
Film Runtime (No Credits): 1:31:48

*Technical Details*
Aspect Ratio: 1.78
Avg. Shot Duration: 6.63
Avg. Brightness: 59
Avg. Contrast: 44

*Dialogue Cadence*
Sentences Per Minute: 16
Words Per Sentence 5.09
Questions Per Minute: 2.16
Pct. Questions: 13%

*Emotion*
Pct. Upset Faces: 68%
Profanity Per Minute: 0.03
Words Per Profanity: 2562
Exclamations Per Minute: 1.83
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
11
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'transit': 268, 'driving': 264})
Potential Common Locations: Counter({'car': 264})
Establishing Shot Locations: Counter({'building': 16})
Descriptors: ['sitting']
Active Actions: Counter({'driving': 4, 'open': 3})
No description has been provided for this image
*Plot Context*
Establishing Shot Locations: Counter({'building': 9})
Named Participants: Counter({'ollie': 1, 'mom': 1})
Descriptors: ['indoors']
Right Wearing: Counter({'mask and a purple cape': 21, 'mask': 11, 'mask sitting': 1, 'mask and cape': 1})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'transit': 409, 'driving': 409, 'intimacy': 45})
Potential Common Locations: Counter({'car': 409})
Descriptors: ['indoors', 'sitting']
Active Actions: Counter({'kissing': 45})
Right Wearing: Counter({'suit': 89})
No description has been provided for this image
*Plot Context*
Descriptors: ['indoors']
Held Items: Counter({'cell phone': 3})
Active Actions: Counter({'seen': 2, 'peeking': 1, 'open': 1})
Right Wearing: Counter({'suit': 47})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'dining': 157})
Potential Common Locations: Counter({'kitchen': 157})
Potential Other Locations: Counter({'doorway': 2})
Named Participants: Counter({'carol': 1})
Descriptors: ['indoors', 'standing']
Left Wearing: Counter({'suit': 60})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'transit': 4, 'driving': 4, 'dining': 3})
Potential Common Locations: Counter({'car': 4, 'kitchen': 3})
Potential Other Locations: Counter({'street': 16, 'doorway': 2, 'hallway': 1, 'park': 1})
Establishing Shot Locations: Counter({'building': 20, 'train': 5})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'clipboard': 11, 'pen': 6, 'clipboard standing': 5})
Active Actions: Counter({'open': 5, 'making': 1, 'blowing': 1, 'yelling': 1})
Left Wearing: Counter({'suit': 2, 'green jacket': 2, 'brown jacket': 2})
No description has been provided for this image
*Plot Context*
Descriptors: ['indoors', 'sitting']
Active Actions: Counter({'reading': 42, 'lit': 14})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'transit': 90})
Potential Common Locations: Counter({'airplane': 90})
Potential Other Locations: Counter({'hallway': 18, 'doorway': 4})
Establishing Shot Locations: Counter({'building': 5, 'train': 3})
Named Participants: Counter({'gene': 1})
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'open': 1})
No description has been provided for this image
*Plot Context*
Potential Other Locations: Counter({'doorway': 30})
Descriptors: ['indoors', 'standing']
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'intimacy': 103})
Descriptors: ['indoors']
Held Items: Counter({'child': 3, 'head': 1, 'long hair and a cell phone': 1})
Active Actions: Counter({'hugging': 99, 'kissing': 4})
No description has been provided for this image
*Plot Context*
Context Themes: Counter({'violence': 101, 'dining': 11})
Named Participants: Counter({'carol': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'gun': 101})
Active Actions: Counter({'pointing': 8, 'hiding': 2})
Out[4]:
[None, None, None, None, None, 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()
No description has been provided for this image
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()
No description has been provided for this image
In [11]:
if rand_scene:
    rand_scene.display_second_p_address_frames()
No description has been provided for this image
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()
No description has been provided for this image
Mr. Lenk, this is Dr. Bennell.
No description has been provided for this image
This is Dr. Bennell.
No description has been provided for this image
This is Dr. Ben Driscoll.