SYMBOL INDEX (204 symbols across 14 files) FILE: solutions/object_oriented_design/call_center/call_center.py class Rank (line 6) | class Rank(Enum): class Employee (line 13) | class Employee(metaclass=ABCMeta): method __init__ (line 15) | def __init__(self, employee_id, name, rank, call_center): method take_call (line 22) | def take_call(self, call): method complete_call (line 28) | def complete_call(self): method escalate_call (line 33) | def escalate_call(self): method _escalate_call (line 36) | def _escalate_call(self): class Operator (line 43) | class Operator(Employee): method __init__ (line 45) | def __init__(self, employee_id, name): method escalate_call (line 48) | def escalate_call(self): class Supervisor (line 53) | class Supervisor(Employee): method __init__ (line 55) | def __init__(self, employee_id, name): method escalate_call (line 58) | def escalate_call(self): class Director (line 63) | class Director(Employee): method __init__ (line 65) | def __init__(self, employee_id, name): method escalate_call (line 68) | def escalate_call(self): class CallState (line 72) | class CallState(Enum): class Call (line 79) | class Call(object): method __init__ (line 81) | def __init__(self, rank): class CallCenter (line 87) | class CallCenter(object): method __init__ (line 89) | def __init__(self, operators, supervisors, directors): method dispatch_call (line 95) | def dispatch_call(self, call): method _dispatch_call (line 108) | def _dispatch_call(self, call, employees): method notify_call_escalated (line 115) | def notify_call_escalated(self, call): method notify_call_completed (line 118) | def notify_call_completed(self, call): method dispatch_queued_call_to_newly_freed_employee (line 121) | def dispatch_queued_call_to_newly_freed_employee(self, call, employee): FILE: solutions/object_oriented_design/deck_of_cards/deck_of_cards.py class Suit (line 6) | class Suit(Enum): class Card (line 14) | class Card(metaclass=ABCMeta): method __init__ (line 16) | def __init__(self, value, suit): method value (line 23) | def value(self): method value (line 28) | def value(self, other): class BlackJackCard (line 32) | class BlackJackCard(Card): method __init__ (line 34) | def __init__(self, value, suit): method is_ace (line 37) | def is_ace(self): method is_face_card (line 40) | def is_face_card(self): method value (line 45) | def value(self): method value (line 54) | def value(self, new_value): class Hand (line 61) | class Hand(object): method __init__ (line 63) | def __init__(self, cards): method add_card (line 66) | def add_card(self, card): method score (line 69) | def score(self): class BlackJackHand (line 76) | class BlackJackHand(Hand): method __init__ (line 80) | def __init__(self, cards): method score (line 83) | def score(self): method possible_scores (line 93) | def possible_scores(self): class Deck (line 98) | class Deck(object): method __init__ (line 100) | def __init__(self, cards): method remaining_cards (line 104) | def remaining_cards(self): method deal_card (line 107) | def deal_card(self): method shuffle (line 116) | def shuffle(self): FILE: solutions/object_oriented_design/hash_table/hash_map.py class Item (line 1) | class Item(object): method __init__ (line 3) | def __init__(self, key, value): class HashTable (line 8) | class HashTable(object): method __init__ (line 10) | def __init__(self, size): method _hash_function (line 14) | def _hash_function(self, key): method set (line 17) | def set(self, key, value): method get (line 25) | def get(self, key): method remove (line 32) | def remove(self, key): FILE: solutions/object_oriented_design/lru_cache/lru_cache.py class Node (line 1) | class Node(object): method __init__ (line 3) | def __init__(self, results): class LinkedList (line 8) | class LinkedList(object): method __init__ (line 10) | def __init__(self): method move_to_front (line 14) | def move_to_front(self, node): method append_to_front (line 17) | def append_to_front(self, node): method remove_from_tail (line 20) | def remove_from_tail(self): class Cache (line 24) | class Cache(object): method __init__ (line 26) | def __init__(self, MAX_SIZE): method get (line 32) | def get(self, query): method set (line 43) | def set(self, results, query): FILE: solutions/object_oriented_design/online_chat/online_chat.py class UserService (line 5) | class UserService(object): method __init__ (line 7) | def __init__(self): method add_user (line 10) | def add_user(self, user_id, name, pass_hash): method remove_user (line 13) | def remove_user(self, user_id): method add_friend_request (line 16) | def add_friend_request(self, from_user_id, to_user_id): method approve_friend_request (line 19) | def approve_friend_request(self, from_user_id, to_user_id): method reject_friend_request (line 22) | def reject_friend_request(self, from_user_id, to_user_id): class User (line 26) | class User(object): method __init__ (line 28) | def __init__(self, user_id, name, pass_hash): method message_user (line 38) | def message_user(self, friend_id, message): method message_group (line 41) | def message_group(self, group_id, message): method send_friend_request (line 44) | def send_friend_request(self, friend_id): method receive_friend_request (line 47) | def receive_friend_request(self, friend_id): method approve_friend_request (line 50) | def approve_friend_request(self, friend_id): method reject_friend_request (line 53) | def reject_friend_request(self, friend_id): class Chat (line 57) | class Chat(metaclass=ABCMeta): method __init__ (line 59) | def __init__(self, chat_id): class PrivateChat (line 65) | class PrivateChat(Chat): method __init__ (line 67) | def __init__(self, first_user, second_user): class GroupChat (line 73) | class GroupChat(Chat): method add_user (line 75) | def add_user(self, user): method remove_user (line 78) | def remove_user(self, user): class Message (line 82) | class Message(object): method __init__ (line 84) | def __init__(self, message_id, message, timestamp): class AddRequest (line 90) | class AddRequest(object): method __init__ (line 92) | def __init__(self, from_user_id, to_user_id, request_status, timestamp): class RequestStatus (line 99) | class RequestStatus(Enum): FILE: solutions/object_oriented_design/parking_lot/parking_lot.py class VehicleSize (line 5) | class VehicleSize(Enum): class Vehicle (line 12) | class Vehicle(metaclass=ABCMeta): method __init__ (line 14) | def __init__(self, vehicle_size, license_plate, spot_size): method clear_spots (line 20) | def clear_spots(self): method take_spot (line 25) | def take_spot(self, spot): method can_fit_in_spot (line 29) | def can_fit_in_spot(self, spot): class Motorcycle (line 33) | class Motorcycle(Vehicle): method __init__ (line 35) | def __init__(self, license_plate): method can_fit_in_spot (line 38) | def can_fit_in_spot(self, spot): class Car (line 42) | class Car(Vehicle): method __init__ (line 44) | def __init__(self, license_plate): method can_fit_in_spot (line 47) | def can_fit_in_spot(self, spot): class Bus (line 51) | class Bus(Vehicle): method __init__ (line 53) | def __init__(self, license_plate): method can_fit_in_spot (line 56) | def can_fit_in_spot(self, spot): class ParkingLot (line 60) | class ParkingLot(object): method __init__ (line 62) | def __init__(self, num_levels): method park_vehicle (line 66) | def park_vehicle(self, vehicle): class Level (line 73) | class Level(object): method __init__ (line 77) | def __init__(self, floor, total_spots): method spot_freed (line 83) | def spot_freed(self): method park_vehicle (line 86) | def park_vehicle(self, vehicle): method _find_available_spot (line 94) | def _find_available_spot(self, vehicle): method _park_starting_at_spot (line 98) | def _park_starting_at_spot(self, spot, vehicle): class ParkingSpot (line 103) | class ParkingSpot(object): method __init__ (line 105) | def __init__(self, level, row, spot_number, spot_size, vehicle_size): method is_available (line 113) | def is_available(self): method can_fit_vehicle (line 116) | def can_fit_vehicle(self, vehicle): method park_vehicle (line 121) | def park_vehicle(self, vehicle): method remove_vehicle (line 124) | def remove_vehicle(self): FILE: solutions/system_design/mint/mint_mapreduce.py class SpendingByCategory (line 6) | class SpendingByCategory(MRJob): method __init__ (line 8) | def __init__(self, categorizer): method current_year_month (line 12) | def current_year_month(self): method extract_year_month (line 16) | def extract_year_month(self, timestamp): method handle_budget_notifications (line 20) | def handle_budget_notifications(self, key, total): method mapper (line 24) | def mapper(self, _, line): method reducer (line 38) | def reducer(self, key, values): method steps (line 48) | def steps(self): FILE: solutions/system_design/mint/mint_snippets.py class DefaultCategories (line 6) | class DefaultCategories(Enum): class Categorizer (line 20) | class Categorizer(object): method __init__ (line 22) | def __init__(self, seller_category_map, seller_category_overrides_map): method categorize (line 26) | def categorize(self, transaction): class Transaction (line 36) | class Transaction(object): method __init__ (line 38) | def __init__(self, timestamp, seller, amount): class Budget (line 44) | class Budget(object): method __init__ (line 46) | def __init__(self, template_categories_to_budget_map): method override_category_budget (line 49) | def override_category_budget(self, category, amount): FILE: solutions/system_design/pastebin/pastebin.py class HitCounts (line 6) | class HitCounts(MRJob): method extract_url (line 8) | def extract_url(self, line): method extract_year_month (line 12) | def extract_year_month(self, line): method mapper (line 16) | def mapper(self, _, line): method reducer (line 29) | def reducer(self, key, values): method steps (line 37) | def steps(self): FILE: solutions/system_design/query_cache/query_cache_snippets.py class QueryApi (line 4) | class QueryApi(object): method __init__ (line 6) | def __init__(self, memory_cache, reverse_index_cluster): method parse_query (line 10) | def parse_query(self, query): method process_query (line 16) | def process_query(self, query): class Node (line 25) | class Node(object): method __init__ (line 27) | def __init__(self, query, results): class LinkedList (line 32) | class LinkedList(object): method __init__ (line 34) | def __init__(self): method move_to_front (line 38) | def move_to_front(self, node): method append_to_front (line 41) | def append_to_front(self, node): method remove_from_tail (line 44) | def remove_from_tail(self): class Cache (line 48) | class Cache(object): method __init__ (line 50) | def __init__(self, MAX_SIZE): method get (line 56) | def get(self, query): method set (line 67) | def set(self, results, query): FILE: solutions/system_design/sales_rank/sales_rank_mapreduce.py class SalesRanker (line 6) | class SalesRanker(MRJob): method within_past_week (line 8) | def within_past_week(self, timestamp): method mapper (line 12) | def mapper(self, _, line): method reducer (line 28) | def reducer(self, key, values): method mapper_sort (line 39) | def mapper_sort(self, key, value): method reducer_identity (line 63) | def reducer_identity(self, key, value): method steps (line 66) | def steps(self): FILE: solutions/system_design/social_graph/social_graph_snippets.py class State (line 6) | class State(Enum): class Graph (line 11) | class Graph(object): method bfs (line 13) | def bfs(self, source, dest): class Person (line 31) | class Person(object): method __init__ (line 33) | def __init__(self, id, name): class LookupService (line 39) | class LookupService(object): method __init__ (line 41) | def __init__(self): method get_person (line 44) | def get_person(self, person_id): class PersonServer (line 49) | class PersonServer(object): method __init__ (line 51) | def __init__(self): method get_people (line 54) | def get_people(self, ids): class UserGraphService (line 62) | class UserGraphService(object): method __init__ (line 64) | def __init__(self, person_ids, lookup): method bfs (line 69) | def bfs(self, source, dest): FILE: solutions/system_design/web_crawler/web_crawler_mapreduce.py class RemoveDuplicateUrls (line 6) | class RemoveDuplicateUrls(MRJob): method mapper (line 8) | def mapper(self, _, line): method reducer (line 11) | def reducer(self, key, values): method steps (line 16) | def steps(self): FILE: solutions/system_design/web_crawler/web_crawler_snippets.py class PagesDataStore (line 4) | class PagesDataStore(object): method __init__ (line 6) | def __init__(self, db): method add_link_to_crawl (line 10) | def add_link_to_crawl(self, url): method remove_link_to_crawl (line 14) | def remove_link_to_crawl(self, url): method reduce_priority_link_to_crawl (line 18) | def reduce_priority_link_to_crawl(self, url): method extract_max_priority_page (line 22) | def extract_max_priority_page(self): method insert_crawled_link (line 26) | def insert_crawled_link(self, url, signature): method crawled_similar (line 30) | def crawled_similar(self, signature): class Page (line 35) | class Page(object): method __init__ (line 37) | def __init__(self, url, contents, child_urls): method create_signature (line 43) | def create_signature(self): class Crawler (line 48) | class Crawler(object): method __init__ (line 50) | def __init__(self, pages, data_store, reverse_index_queue, doc_index_q... method crawl_page (line 56) | def crawl_page(self, page): method crawl (line 64) | def crawl(self):