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]:
'age_of_dinosaurs_2013'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: Age of Dinosaurs (2013)
File Runtime: 01:28:23
Film Runtime (No Credits): 1:24:22

*Technical Details*
Aspect Ratio: 1.78
Avg. Shot Duration: 8.17
Avg. Brightness: 58
Avg. Contrast: 42

*Dialogue Cadence*
Sentences Per Minute: 12
Words Per Sentence 4.69
Questions Per Minute: 1.05
Pct. Questions: 8%

*Emotion*
Pct. Upset Faces: 69%
Laughs Per Minute: 0.17
Profanity Per Minute: 0.17
Words Per Profanity: 352
Exclamations Per Minute: 1.37
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
8
*Plot Context*
Context Themes: Counter({'drinking': 1})
Establishing Shot Locations: Counter({'building': 6})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'piece of paper': 26, 'cell phone': 5, 'remote': 1, 'something': 1})
Active Actions: Counter({'using': 14, 'reading': 6, 'drinking': 1})
Right Wearing: Counter({'brown shirt': 1})
*Plot Context*
Potential Other Locations: Counter({'building': 9, 'hallway': 1})
Named Participants: Counter({'hans': 1})
Descriptors: ['indoors', 'sitting', 'crowded']
Held Items: Counter({'cell phone': 2, 'control': 1})
Active Actions: Counter({'connected': 7, 'flying': 6, 'pointing': 3, 'laughing': 2, 'making': 2, 'carrying': 1})
Left Wearing: Counter({'purple shirt': 75, 'dark shirt': 4})
Right Wearing: Counter({'suit': 72})
*Plot Context*
Context Themes: Counter({'dining': 24})
Potential Common Locations: Counter({'kitchen': 24, 'bathroom': 1})
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'pointing': 24, 'touching': 12, 'smoking': 3, 'crying': 1})
*Plot Context*
Named Participants: Counter({'craig': 1, 'japan': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'cell phone': 1})
Active Actions: Counter({'glowing': 10, 'making': 1})
Left Wearing: Counter({'brown shirt': 3})
Right Wearing: Counter({'purple shirt': 42, 'dark shirt': 14, 'black shirt': 5})
*Plot Context*
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'pose': 2, 'open': 1})
*Plot Context*
Descriptors: ['indoors']
Held Items: Counter({'cell phone': 7, 'keypad with a blue light': 2, 'keypad with a green light': 1})
Active Actions: Counter({'pressing': 13, 'using': 2})
*Plot Context*
Context Themes: Counter({'violence': 26, 'dining': 1})
Potential Common Locations: Counter({'bathroom': 2})
Establishing Shot Locations: Counter({'building': 2})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'gun': 25, 'baseball bat': 2, 'cell phone': 2, 'light': 1, 'sword': 1, 'door handle': 1, 'knife': 1})
Active Actions: Counter({'says': 5, 'coming': 3})
*Plot Context*
Context Themes: Counter({'intimacy': 25})
Potential Other Locations: Counter({'building': 5, 'doorway': 4, 'hallway': 1})
Establishing Shot Locations: Counter({'building': 3})
Named Participants: Counter({'jade': 1, 'look': 1})
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'hugging': 20, 'kissing': 5, 'make': 1, 'says': 1, 'peeking': 1, 'helping': 1})
Left Wearing: Counter({'suit': 24})
Right Wearing: Counter({'tank top': 1})
Out[4]:
[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()