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]:
'narcopolis_2015'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information*
Title, Release Year: Narcopolis (2015)
File Runtime: 01:35:43
Film Runtime (No Credits): 1:29:52

*Technical Details*
Aspect Ratio: 2.39
Avg. Shot Duration: 10.31
Avg. Brightness: 47
Avg. Contrast: 37

*Dialogue Cadence*
Sentences Per Minute: 14
Words Per Sentence 5.16
Questions Per Minute: 1.77
Pct. Questions: 13%

*Emotion*
Pct. Upset Faces: 65%
Laughs Per Minute: 0.02
Profanity Per Minute: 0.60
Words Per Profanity: 121
Exclamations Per Minute: 1.37
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
11
*Plot Context*
Establishing Shot Locations: Counter({'building': 31, 'train': 1})
Right Wearing: Counter({'suit': 1})
*Plot Context*
Context Themes: Counter({'transit': 217, 'driving': 217})
Potential Common Locations: Counter({'car': 217, 'elevator': 12})
Potential Other Locations: Counter({'building': 22, 'street': 3, 'garage': 2, 'hallway': 2})
Named Participants: Counter({'eddie': 2})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'cell phone': 9, 'piece of paper': 7, 'camera': 2, 'hand': 2, 'head': 1, 'card': 1})
Active Actions: Counter({'parked': 9, 'smoking': 4, 'taking': 2, 'turned': 1, 'typing': 1, 'pointing': 1})
Left Wearing: Counter({'jacket': 1, 'black jacket': 1})
Right Wearing: Counter({'face mask': 2, 'gas mask': 1, 'mask': 1})
*Plot Context*
Context Themes: Counter({'drinking': 2})
Named Participants: Counter({'morlocks': 1})
Descriptors: ['indoors']
Held Items: Counter({'hand': 1})
Active Actions: Counter({'using': 12, 'drinking': 2})
Left Wearing: Counter({'tank top': 30, 'yellow shirt': 2, 'yellow tank top': 1})
*Plot Context*
Context Themes: Counter({'transit': 32, 'driving': 32})
Potential Common Locations: Counter({'car': 32})
Descriptors: ['sitting']
Active Actions: Counter({'open': 2})
*Plot Context*
Context Themes: Counter({'drinking': 36, 'dining': 17})
Potential Common Locations: Counter({'bar': 36, 'kitchen': 17})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'cell phone': 3})
Active Actions: Counter({'covering': 7, 'covers': 2, 'making': 1, 'yelling': 1})
Left Wearing: Counter({'black jacket': 10})
Right Wearing: Counter({'hat': 10, 'hat looking at a man': 4, 'black hat': 1, 'tank top': 1})
*Plot Context*
Context Themes: Counter({'violence': 5, 'dining': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'hand': 7, 'gun': 4, 'knife': 1, 'piece of paper': 1, 'package': 1})
Left Wearing: Counter({'trench coat': 10, 'jacket': 8, 'dark jacket': 1, 'jacket with his hands': 1})
Right Wearing: Counter({'scarf and jacket': 30, 'scarf': 2, 'scarf and a black jacket': 1})
*Plot Context*
Context Themes: Counter({'transit': 138, 'driving': 119})
Potential Common Locations: Counter({'car': 119})
Potential Other Locations: Counter({'street': 10})
Descriptors: ['outdoors', 'sitting', 'rain']
Held Items: Counter({'cell phone': 1})
Active Actions: Counter({'driving': 19, 'covering': 7, 'touching': 5, 'using': 3})
*Plot Context*
Context Themes: Counter({'dining': 129, 'violence': 18})
Potential Common Locations: Counter({'kitchen': 110, 'bathroom': 1})
Potential Other Locations: Counter({'hallway': 38, 'building': 1})
Establishing Shot Locations: Counter({'building': 37})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'cell phone': 20, 'knife': 18, 'piece of paper': 6, 'hands': 2, 'hand': 2, 'his head': 1, 'person': 1, 'wrist with a wristband': 1, 'something': 1, 'pair of scissors': 1, 'frisbee': 1})
Active Actions: Counter({'making': 9, 'open': 5, 'running': 5, 'turned': 3, 'coming': 2, 'covers': 1, 'laughing': 1, 'bending': 1, 'shake': 1, 'glowing': 1, 'love': 1, 'silhouetted': 1, 'blowing': 1, 'pushing': 1})
Left Wearing: Counter({'hoodie': 6, 'black jacket': 6, 'dark jacket': 1})
*Plot Context*
Context Themes: Counter({'dining': 2})
Potential Other Locations: Counter({'hallway': 1})
Establishing Shot Locations: Counter({'building': 3})
Named Participants: Counter({'buddy': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'toothbrush': 4, 'lollipop': 4, 'cell phone': 3, 'spoon': 2})
Active Actions: Counter({'lit': 3, 'putting': 1, 'brushing': 1})
Left Wearing: Counter({'hat looking at his cell phone': 2, 'yellow jacket': 1, 'hat and jacket looking at his cell phone': 1, 'jacket': 1, 'hat and jacket': 1, 'hat talking': 1})
Right Wearing: Counter({'hat': 29, 'hat talking': 6, 'hat with the word': 4, 'hat looking at another man': 3, 'hat and jacket': 3, 'hat looking into a mirror': 2, 'baseball cap looking into a mirror': 1, 'hat looking at a woman': 1, 'hat and a brown jacket': 1, 'hat and a jacket': 1})
*Plot Context*
Context Themes: Counter({'dining': 64})
Potential Common Locations: Counter({'kitchen': 64})
Establishing Shot Locations: Counter({'building': 1})
Named Participants: Counter({'angie': 1})
Descriptors: ['indoors', 'standing']
Left Wearing: Counter({'hoodie': 57})
*Plot Context*
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'cell phone': 22, 'piece of paper': 5})
Active Actions: Counter({'wiping': 4, 'brush': 2})
Left Wearing: Counter({'scarf': 2})
Out[4]:
[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()
In [15]:
film_obj.display_other_intros()