import sys
sys.path.append('../../')
from moviegoer.tables import film_id_from_film_directory, load_film_object
from random import choice
film_id = film_id_from_film_directory()
film_id
'hall_pass_2011'
film_obj = load_film_object(film_id)
film_obj.print_info()
*Film Information* Title, Release Year: Hall Pass (2011) File Runtime: 01:51:33 Film Runtime (No Credits): 1:50:29 *Technical Details* Aspect Ratio: 2.39 Avg. Shot Duration: 13.18 Avg. Brightness: 51 Avg. Contrast: 35 *Dialogue Cadence* Sentences Per Minute: 25 Words Per Sentence 4.94 Questions Per Minute: 3.77 Pct. Questions: 15% *Emotion* Pct. Upset Faces: 61% Laughs Per Minute: 0.43 Profanity Per Minute: 0.44 Words Per Profanity: 282 Exclamations Per Minute: 1.43
print(len(film_obj.scene_objects))
film_obj.display_scenes()
25
*Plot Context*
Context Themes: Counter({'drinking': 1})
Named Participants: Counter({'lucy': 3, 'fred': 1, 'ha': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'wine glasses': 72, 'glass of wine': 1})
*Plot Context*
Context Themes: Counter({'dining': 9, 'intimacy': 2, 'animal': 1})
Potential Common Locations: Counter({'kitchen': 8})
Named Participants: Counter({'maggie': 6, 'flats': 3, 'fred': 1, 'ha': 1})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'money': 3, 'dog': 1, 'cell phone': 1})
Active Actions: Counter({'kissing': 2, 'eating': 1})
*Plot Context*
Context Themes: Counter({'transit': 129, 'driving': 129})
Potential Common Locations: Counter({'car': 129})
Named Participants: Counter({'grace': 1, 'honey': 1})
Descriptors: ['sitting']
*Plot Context*
Context Themes: Counter({'work': 29})
Potential Common Locations: Counter({'office': 29})
Named Participants: Counter({'ha': 2, 'buddy': 1, 'flats': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'bottle of water': 1})
Active Actions: Counter({'pointing': 8})
Left Wearing: Counter({'suit': 47})
Right Wearing: Counter({'tie': 20, 'shirt': 4})
*Plot Context*
Context Themes: Counter({'transit': 88, 'driving': 88})
Potential Common Locations: Counter({'car': 88})
Potential Other Locations: Counter({'field': 7})
Establishing Shot Locations: Counter({'building': 14})
Descriptors: ['outdoors', 'sitting']
Held Items: Counter({'frisbee': 1})
Active Actions: Counter({'climbing': 13, 'hanging': 3, 'open': 3, 'running': 3, 'parked': 1, 'flying': 1, 'jumping': 1, 'playing': 1})
*Plot Context*
Potential Other Locations: Counter({'field': 19})
Named Participants: Counter({'grace': 3, 'eddie': 2, 'ha': 2, 'dad': 1, 'gerry': 1, 'maggie': 1})
Descriptors: ['outdoors', 'standing']
*Plot Context*
Context Themes: Counter({'drinking': 74})
Potential Common Locations: Counter({'bar': 74})
Named Participants: Counter({'hi': 1, 'stella bass band': 1, 'fred': 1, 'ed': 1})
Descriptors: ['indoors']
Active Actions: Counter({'making': 1, 'open': 1})
Left Wearing: Counter({'brown shirt': 12})
Right Wearing: Counter({'yellow shirt': 57})
*Plot Context*
Named Participants: Counter({'gonna-- hello': 1, 'ha': 1, 'woman': 1, 'fred': 1, 'ed': 1})
Descriptors: ['indoors', 'standing', 'crowded']
*Plot Context*
Context Themes: Counter({'aquatic': 26, 'sport': 13})
Potential Other Locations: Counter({'pool': 13, 'building': 10})
Establishing Shot Locations: Counter({'building': 7})
Descriptors: ['indoors', 'standing', 'crowded']
Active Actions: Counter({'swimming': 13})
*Plot Context*
Context Themes: Counter({'dining': 6})
Potential Common Locations: Counter({'kitchen': 6, 'shop': 2})
Establishing Shot Locations: Counter({'building': 26})
Named Participants: Counter({'clyde': 1, 'leigh': 1})
Descriptors: ['indoors', 'standing']
Active Actions: Counter({'hand': 1})
Left Wearing: Counter({'hat': 5, 'hat and a brown shirt': 1, 'beanie': 1, 'hat and a plaid shirt': 1})
Right Wearing: Counter({'t - shirt with the word': 9, 't - shirt is talking to another man': 6, 'man': 2, 'yellow shirt': 2, 't - shirt with the word grad': 1})
*Plot Context*
Potential Other Locations: Counter({'building': 31, 'street': 10, 'sidewalk': 3})
Establishing Shot Locations: Counter({'building': 42})
Named Participants: Counter({'man 1': 1, 'maggie': 1})
Descriptors: ['outdoors', 'sitting']
Held Items: Counter({'blue face and a flower': 1, 'cup of coffee': 1, 'plate of food': 1})
Active Actions: Counter({'using': 3, 'making': 1})
*Plot Context*
Context Themes: Counter({'nature': 4})
Potential Other Locations: Counter({'forest': 4, 'park': 3})
Descriptors: ['outdoors', 'standing']
Held Items: Counter({'piece of paper': 13, 'heart': 8, 'box with a ring': 2, 'heart with a lot': 2, 'frisbee': 2, 'box': 1, 'box with a necklace': 1, 'box with a watch': 1, 'banana': 1})
Active Actions: Counter({'pointing': 2})
*Plot Context*
Context Themes: Counter({'dining': 2})
Establishing Shot Locations: Counter({'building': 4})
Named Participants: Counter({'paige': 2, 'fred': 2, 'coakley': 1, 'ha': 1, 'ed': 1})
Descriptors: ['indoors', 'sitting']
Held Items: Counter({'bowl of food': 29, 'cup': 16, 'cup of coffee': 8, 'cup of food': 6, 'cell phone': 6, 'cup of cereal': 3, 'cup of ice cream': 2, 'his mouth open and a drink': 2, 'cup of popcorn': 1, 'can of milk': 1, 'cup of drink': 1, 'can of soda': 1, 'remote': 1})
Active Actions: Counter({'eating': 2, 'open': 2})
*Plot Context*
Named Participants: Counter({'rick': 2})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'hands': 14})
*Plot Context*
Named Participants: Counter({'rick': 1})
Descriptors: ['indoors', 'standing', 'crowded']
Active Actions: Counter({'laughing': 2, 'sticking': 1})
*Plot Context*
Potential Other Locations: Counter({'hallway': 63, 'building': 26})
Establishing Shot Locations: Counter({'building': 3})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'cup': 1})
Active Actions: Counter({'crossed': 12, 'shaking': 5, 'handing': 1})
Right Wearing: Counter({'pink shirt': 1})
*Plot Context*
Context Themes: Counter({'aquatic': 42, 'dining': 3, 'drinking': 3})
Potential Common Locations: Counter({'kitchen': 3})
Establishing Shot Locations: Counter({'building': 16})
Named Participants: Counter({'coakley': 4, 'ha': 1, 'jenny': 1})
Descriptors: ['indoors', 'standing', 'crowded']
Held Items: Counter({'beer': 1, 'hands': 1})
Active Actions: Counter({'drinking': 3})
Left Wearing: Counter({'brown shirt': 19, 'hawaiian shirt': 2})
Right Wearing: Counter({'bikini': 20, 'bikini top': 7, 'yellow and blue bikini': 1})
*Plot Context*
Descriptors: ['indoors', 'sitting']
Active Actions: Counter({'laughing': 4})
Left Wearing: Counter({'pink shirt': 1})
*Plot Context*
Named Participants: Counter({'rick': 3, 'moron': 1})
Descriptors: ['indoors', 'standing']
*Plot Context*
Context Themes: Counter({'aquatic': 12})
Named Participants: Counter({'rick': 2, 'maggie': 1, 'brent': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'chest': 3, 'hands': 1, 'hands together': 1})
Active Actions: Counter({'brushing': 2, 'making': 1})
Left Wearing: Counter({'bikini': 12})
Right Wearing: Counter({'hawaiian shirt': 100, 'brown shirt': 83})
*Plot Context*
Context Themes: Counter({'transit': 212, 'driving': 212, 'violence': 7, 'dining': 1})
Potential Common Locations: Counter({'car': 212})
Potential Other Locations: Counter({'building': 31, 'hallway': 3, 'street': 1})
Establishing Shot Locations: Counter({'building': 21})
Named Participants: Counter({'rick': 3, 'maggie': 2, 'fred': 1, 'brent': 1})
Descriptors: ['indoors', 'standing']
Held Items: Counter({'gun': 6, 'baseball bat': 3, 'knife': 1, 'umbrella': 1})
Active Actions: Counter({'open': 6, 'painted': 3, 'painting': 2, 'throwing': 1, 'spray': 1, 'putting': 1, 'pushing': 1})
*Plot Context*
Descriptors: ['indoors', 'sitting']
Right Wearing: Counter({'yellow shirt': 40})
*Plot Context*
Context Themes: Counter({'dining': 1})
Potential Other Locations: Counter({'doorway': 2})
Named Participants: Counter({'guy': 1, 'man': 1, 'gary': 1})
Descriptors: ['indoors', 'sitting']
Active Actions: Counter({'hanging': 2, 'eating': 1})
Left Wearing: Counter({'brown shirt': 33})
Right Wearing: Counter({'yellow tank top': 10})
*Plot Context*
Active Actions: Counter({'yelling': 1})
*Plot Context*
Context Themes: Counter({'transit': 153, 'driving': 153})
Potential Common Locations: Counter({'car': 153})
Descriptors: ['sitting']
Active Actions: Counter({'open': 14})
[None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
film_obj.chart_all_dialogue_emotional_indicators()
film_obj.chart_all_dialogue_shape()
film_obj.chart_all_dialogue_question_proportion()
film_obj.display_color_shots()
rand_scene = None
if film_obj.dialogue_objects:
rand_scene = choice(film_obj.dialogue_objects)
rand_scene.display_qna_frames()
if rand_scene:
rand_scene.display_first_p_sentence_frames()
if rand_scene:
rand_scene.display_second_p_address_frames()
film_obj.display_laughs()
[]
film_obj.display_unintelligible_language()
film_obj.display_self_intros()
No, I'm Rick.
film_obj.display_other_intros()