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]:
'be_kind_rewind_2008'
In [3]:
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information* Title, Release Year: Be Kind Rewind (2008) File Runtime: 01:41:42 Film Runtime (No Credits): 1:36:49 *Technical Details* Aspect Ratio: 2.35 Avg. Shot Duration: 12.43 Avg. Brightness: 62 Avg. Contrast: 45 *Dialogue Cadence* Sentences Per Minute: 28 Words Per Sentence 5.08 Questions Per Minute: 3.51 Pct. Questions: 13% *Emotion* Pct. Upset Faces: 59% Profanity Per Minute: 0.07 Words Per Profanity: 1962 Exclamations Per Minute: 0.99
In [4]:
print(len(film_obj.scene_objects))
film_obj.display_scenes()
5
*Plot Context*
Establishing Shot Locations: Counter({'building': 8})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'hand': 1, 'cell phone': 1})
Active Actions: Counter({'making': 3, 'waving': 2, 'open': 1, 'putting': 1, 'holds': 1, 'laughing': 1, 'screaming': 1, 'pointing': 1})
Right Wearing: Counter({'gold jacket': 5, 'glasses and a jacket': 1, 'gold outfit': 1, 'shiny gold jacket': 1})
*Plot Context*
Potential Other Locations: Counter({'street': 49, 'parking lot': 13})
Establishing Shot Locations: Counter({'building': 9})
Named Participants: Counter({'mike': 1, 'ooh': 1})
Descriptors: ['outdoors', 'standing']
Active Actions: Counter({'open': 2, 'singing': 1, 'waving': 1, 'making': 1})
Left Wearing: Counter({'white shirt': 1})
Right Wearing: Counter({'glasses and a jacket with glitter': 10, 'glasses and a jacket': 6, 'glasses and a jacket with sequins': 3, 'glasses and a jacket standing': 3, 'glasses and a jacket with silver foil': 2, 'glasses and a jacket with gold paint': 2, 'glasses and a jacket with silver paint': 2, 'glasses standing': 1})
*Plot Context*
Context Themes: Counter({'intimacy': 17})
Potential Common Locations: Counter({'store': 2})
Establishing Shot Locations: Counter({'building': 5, 'train': 1})
Named Participants: Counter({'mike': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'hand': 40, 'hands': 6, 'woman': 6, 'his head': 4, 'nose': 2, 'head': 2, 'hand out': 1, 'face': 1, 'purse': 1})
Active Actions: Counter({'putting': 30, 'kissing': 17, 'touching': 6, 'held': 3, 'smoking': 1, 'covering': 1, 'hand': 1})
Right Wearing: Counter({'brown shirt': 4})
*Plot Context*
Establishing Shot Locations: Counter({'train': 3, 'airplane': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'cell phone': 7})
Active Actions: Counter({'covering': 5, 'watching': 2, 'lit': 2})
*Plot Context*
Potential Other Locations: Counter({'hallway': 3})
Establishing Shot Locations: Counter({'building': 33, 'bus': 19})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'arms': 1, 'microphone': 1, 'ball': 1, 'basketball': 1})
Active Actions: Counter({'dancing': 11, 'doing': 5, 'playing': 5, 'shaking': 2, 'hanging': 1, 'embracing': 1})
Out[4]:
[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()