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]:
'an_american_crime_2007'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: An American Crime (2007)
File Runtime: 01:37:32
Film Runtime (No Credits): 1:30:46

*Technical Details*
Aspect Ratio: 2.35
Avg. Shot Duration: 11.73
Avg. Brightness: 50
Avg. Contrast: 37

*Dialogue Cadence*
Sentences Per Minute: 14
Words Per Sentence 5.47
Questions Per Minute: 2.43
Pct. Questions: 17%

*Emotion*
Pct. Upset Faces: 65%
Profanity Per Minute: 0.10
Words Per Profanity: 783
Exclamations Per Minute: 2.31
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
13
*Plot Context*
Establishing Shot Locations: Counter({'building': 22, 'boat': 6})
Descriptors: ['indoors']
Active Actions: Counter({'laughing': 3})
*Plot Context*
Potential Other Locations: Counter({'building': 3})
Establishing Shot Locations: Counter({'building': 17})
Named Participants: Counter({'ricky hobbs': 1, 'sylvia': 1})
Descriptors: ['standing']
Active Actions: Counter({'shaking': 2})
*Plot Context*
Context Themes: Counter({'intimacy': 17, 'school': 8})
Named Participants: Counter({'gertie': 1})
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'kissing': 17, 'touching': 6, 'covers': 5, 'covering': 2, 'embracing': 1, 'pulled': 1})
*Plot Context*
Descriptors: ['indoors', 'sitting']
*Plot Context*
Descriptors: ['indoors', 'standing']
*Plot Context*
Descriptors: ['indoors']
Active Actions: Counter({'sleeping': 46})
*Plot Context*
Context Themes: Counter({'drinking': 3})
Establishing Shot Locations: Counter({'building': 58})
Descriptors: ['indoors']
Active Actions: Counter({'smoking': 4, 'drinking': 3})
*Plot Context*
Potential Other Locations: Counter({'sidewalk': 2, 'street': 1})
Named Participants: Counter({'mama': 4, 'honey': 1})
Descriptors: ['outdoors']
Active Actions: Counter({'reflected': 2})
*Plot Context*
Named Participants: Counter({'marie': 1})
Descriptors: ['standing']
Left Wearing: Counter({'suit': 45})
*Plot Context*
Establishing Shot Locations: Counter({'building': 1})
Descriptors: ['standing']
*Plot Context*
Context Themes: Counter({'nature': 6, 'dining': 2})
Potential Other Locations: Counter({'forest': 6, 'building': 1})
Named Participants: Counter({'sylvia': 1})
Descriptors: ['outdoors', 'standing']
Held Items: Counter({'cell phone': 2})
Active Actions: Counter({'serving': 3, 'eating': 2})
*Plot Context*
Context Themes: Counter({'transit': 281, 'driving': 273})
Potential Common Locations: Counter({'car': 273})
Potential Other Locations: Counter({'street': 10, 'garage': 5, 'field': 4})
Named Participants: Counter({'ricky': 1})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'button': 2, 'metal object': 1})
Active Actions: Counter({'parked': 35, 'driving': 8, 'lit': 7, 'touching': 2})
*Plot Context*
Descriptors: ['indoors', 'standing']
Left Wearing: Counter({'suit': 46})
Out[4]:
[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()
In [14]:
film_obj.display_self_intros()
I live right around the corner, I'm Ricky Hobbs.
In [15]:
film_obj.display_other_intros()