Module: panelist
This module provides objects used to retrieve panelists, panelist information
and panelist details from a copy of the Wait Wait Don’t Tell Me! Stats
database.
Contents
Panelist
class wwdtm.panelist. Panelist ( connect_dict = None , database_connection = None )
Panelist information retrieval class.
Contains methods used to retrieve panelist information, including
IDs, names, slug strings, appearances and scores.
Parameters:
connect_dict (dict [ str , Any ] ) – A dictionary containing database connection
settings as required by MySQL Connector/Python
database_connection (MySQLConnection | PooledMySQLConnection ) – MySQL database connection object
retrieve_all ( )
Retrieve panelist information for all panelists.
Returns:
A list of dictionaries containing panelist ID, name,
slug string and gender for each panelist
Return type:
list [dict [str , Any ]]
retrieve_all_details ( use_decimal_scores = False )
Retrieves panelist information, appearances and scores for all panelists.
Parameters:
use_decimal_scores (bool ) – A boolean to determine if decimal
scores should be used and returned instead of integer scores
Returns:
A list of dictionaries containing panelist ID, name,
slug string, gender, scoring statistics and appearances for
each panelist
Return type:
list [dict [str , Any ]]
retrieve_all_ids ( )
Retrieves all panelist IDs, sorted by panelist name.
Returns:
A list of panelist IDs as integers
Return type:
list [int ]
retrieve_all_slugs ( )
Retrieves all panelist slug strings, sorted by panelist name.
Returns:
A list of panelist slug strings
Return type:
list [str ]
retrieve_by_id ( panelist_id )
Retrieves panelist information.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing panelist ID, name, slug string
and gender
Return type:
dict [str , Any ]
retrieve_by_slug ( panelist_slug )
Retrieves panelist information.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing panelist ID, name, slug string
and gender
Return type:
dict [str , Any ]
retrieve_details_by_id ( panelist_id , use_decimal_scores = False )
Retrieves panelist information, appearances and scores.
Parameters:
Returns:
A dictionary containing panelist ID, name, slug string,
gender, scoring statistics and appearances
Return type:
dict [str , Any ]
retrieve_details_by_slug ( panelist_slug , use_decimal_scores = False )
Retrieves panelist information, appearances and scores.
Parameters:
Returns:
A dictionary containing panelist ID, name, slug string,
gender, scoring statistics and appearances
Return type:
dict [str , Any ]
PanelistAppearances
class wwdtm.panelist. PanelistAppearances ( connect_dict = None , database_connection = None )
Panelist appearance information retrieval class.
Contains methods used to retrieve panelist appearance information
and statistics, scores and rankings.
Parameters:
connect_dict (dict [ str , Any ] ) – A dictionary containing database connection
settings as required by MySQL Connector/Python
database_connection (MySQLConnection | PooledMySQLConnection ) – MySQL database connection object
retrieve_appearances_by_id ( panelist_id , use_decimal_scores = False )
Retrieves panelist appearance information.
Parameters:
Returns:
A dictionary containing appearance statistics, scoring
and ranking details
Return type:
dict [str , Any ]
retrieve_appearances_by_slug ( panelist_slug , use_decimal_scores = False )
Retrieves panelist appearance information.
Parameters:
Returns:
A dictionary containing appearance statistics, scoring
and ranking details
Return type:
dict [str , Any ]
retrieve_yearly_appearances_by_id ( panelist_id )
Retrieves panelist appearance counts grouped by year.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing years as keys and appearance
counts for each year as values
Return type:
dict [int , int ]
retrieve_yearly_appearances_by_slug ( panelist_slug )
Retrieves panelist appearance counts grouped by year.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing years as keys and appearance
counts for each year as values
Return type:
dict [int , int ]
PanelistDecimalScores
class wwdtm.panelist. PanelistDecimalScores ( connect_dict = None , database_connection = None )
Panelist decimal score retrieval class.
Contains methods used to retrieve panelist decimal scores and
calculate scoring statistics.
Parameters:
connect_dict (dict [ str , Any ] ) – A dictionary containing database connection
settings as required by MySQL Connector/Python
database_connection (MySQLConnection | PooledMySQLConnection ) – MySQL database connection object
retrieve_scores_by_id ( panelist_id )
Retrieves a list of panelist decimal scores, sorted by show date.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A list containing panelist decimal scores
Return type:
list [Decimal ]
retrieve_scores_by_slug ( panelist_slug )
Retrieves a list of panelist decimal scores, sorted by show date.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A list containing panelist decimal scores
Return type:
list [Decimal ]
retrieve_scores_grouped_list_by_id ( panelist_id )
Retrieves panelist grouped decimal scores.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing two lists, one containing
decimal scores and one containing counts of those scores
Return type:
dict [str , list [str | int ]]
retrieve_scores_grouped_list_by_slug ( panelist_slug )
Retrieves panelist grouped decimal scores.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing two lists, one containing
decimal scores and one containing counts of those scores
Return type:
dict [str , list [int ]]
retrieve_scores_grouped_ordered_pair_by_id ( panelist_id )
Retrieves a list of panelist decimal scores and counts as a tuple.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A list of tuples containing decimal scores and score
counts
Return type:
list [tuple [str , int ]]
retrieve_scores_grouped_ordered_pair_by_slug ( panelist_slug )
Retrieves a list of panelist decimal scores and counts as a tuple.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A list of tuples containing decimal scores and score
counts
Return type:
list [tuple [str , int ]]
retrieve_scores_list_by_id ( panelist_id )
Retrieves panelist appearances and decimal scores as paired lists.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing a list show dates and a list
of decimal scores
Return type:
dict [str , list [str | Decimal ]]
retrieve_scores_list_by_slug ( panelist_slug )
Retrieves panelist appearances and decimal scores as paired lists.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing a list show dates and a list
of decimal scores
Return type:
dict [str , list [str | Decimal ]]
retrieve_scores_ordered_pair_by_id ( panelist_id )
Retrieves panelist appearances and decimal scores as a list of tuples.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A list of tuples containing show dates and decimal
scores
Return type:
list [tuple [str , Decimal ]]
retrieve_scores_ordered_pair_by_slug ( panelist_slug )
Retrieves panelist appearances and decimal scores as a list of tuples.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A list of tuples containing show dates and decimal
scores
Return type:
list [tuple [str , Decimal ]]
PanelistScores
class wwdtm.panelist. PanelistScores ( connect_dict = None , database_connection = None )
Panelist score retrieval class.
Contains methods used to retrieve panelist scores and calculate
scoring statistics.
Parameters:
connect_dict (dict [ str , Any ] ) – A dictionary containing database connection
settings as required by MySQL Connector/Python
database_connection (MySQLConnection | PooledMySQLConnection ) – MySQL database connection object
retrieve_scores_by_id ( panelist_id )
Retrieves a list of panelist scores, sorted by show date.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A list containing panelist decimal scores
Return type:
list [int ]
retrieve_scores_by_slug ( panelist_slug )
Retrieves a list of panelist scores, sorted by show date.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A list containing panelist scores
Return type:
list [int ]
retrieve_scores_grouped_list_by_id ( panelist_id )
Retrieves panelist grouped scores.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing two lists, one containing
scores and one containing counts of those scores
Return type:
dict [str , list [int ]]
retrieve_scores_grouped_list_by_slug ( panelist_slug )
Retrieves panelist grouped scores.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing two lists, one containing
scores and one containing counts of those scores
Return type:
dict [str , list [int ]]
retrieve_scores_grouped_ordered_pair_by_id ( panelist_id )
Retrieves a list of panelist scores and counts as a tuple.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A list of tuples containing scores and score counts
Return type:
list [tuple [int , int ]]
retrieve_scores_grouped_ordered_pair_by_slug ( panelist_slug )
Retrieves a list of panelist scores and counts as a tuple.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A list of tuples containing scores and score counts
Return type:
list [tuple [int , int ]]
retrieve_scores_list_by_id ( panelist_id )
Retrieves panelist appearances and scores as paired lists.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing a list show dates and a list
of scores
Return type:
dict [str , list ]
retrieve_scores_list_by_slug ( panelist_slug )
Retrieves panelist appearances and scores as paired lists.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing a list show dates and a list
of scores
Return type:
dict [str , list ]
retrieve_scores_ordered_pair_by_id ( panelist_id )
Retrieves panelist appearances and scores as a list of tuples.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A list of tuples containing show dates and scores
Return type:
list [tuple [str , int ]]
retrieve_scores_ordered_pair_by_slug ( panelist_slug )
Retrieves panelist appearances and scores as a list of tuples.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A list of tuples containing show dates and scores
Return type:
list [tuple [str , int ]]
PanelistStatistics
class wwdtm.panelist. PanelistStatistics ( connect_dict = None , database_connection = None )
Panelist statistics information retrieval and calculation class.
Contains methods used to retrieve Bluff the Listener, ranking
and scoring statistics.
Parameters:
connect_dict (dict [ str , Any ] ) – A dictionary containing database connection
settings as required by MySQL Connector/Python
database_connection (MySQLConnection | PooledMySQLConnection ) – MySQL database connection object
retrieve_bluffs_by_id ( panelist_id )
Retrieve panelist Bluff the Listener statistics.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing number of times a panelist’s
Bluff the Listener story was chosen and number of times
they had the correct story
Return type:
dict [str , int ]
retrieve_bluffs_by_slug ( panelist_slug )
Retrieve panelist Bluff the Listener statistics.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing number of times a panelist’s
Bluff the Listener story was chosen and number of times
they had the correct story
Return type:
dict [str , int ]
retrieve_rank_info_by_id ( panelist_id )
Retrieves panelist ranking information.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
A dictionary containing the number of times a panelist
has finished in 1st, 1st tied, 2nd, 2nd tied and 3rd place
Return type:
dict [str , int ]
retrieve_rank_info_by_slug ( panelist_slug )
Retrieves panelist ranking information.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
A dictionary containing the number of times a panelist
has finished in 1st, 1st tied, 2nd, 2nd tied and 3rd place
Return type:
dict [str , int ]
retrieve_statistics_by_id ( panelist_id , include_decimal_scores = False )
Retrieves and calculates panelist statistics.
Parameters:
panelist_id (int ) – Panelist ID
use_decimal_scores – A boolean to determine if decimal
scores should be used and returned instead of integer scores
include_decimal_scores (bool ) –
Returns:
A dictionary containing panelist scoring and ranking
statistics
Return type:
dict [str , Any ]
retrieve_statistics_by_slug ( panelist_slug , include_decimal_scores = False )
Retrieves and calculates panelist statistics.
Parameters:
panelist_slug (str ) – Panelist slug string
use_decimal_scores – A boolean to determine if decimal
scores should be used and returned instead of integer scores
include_decimal_scores (bool ) –
Returns:
A dictionary containing panelist scoring and ranking
statistics
Return type:
dict [str , Any ]
PanelistUtility
class wwdtm.panelist. PanelistUtility ( connect_dict = None , database_connection = None )
Panelist information and utilities class.
Contains methods used to convert between panelist ID and slug
strings, and to check if panelist IDs and slug strings exist.
Parameters:
connect_dict (dict [ str , Any ] ) – A dictionary containing database connection
settings as required by MySQL Connector/Python
database_connection (MySQLConnection | PooledMySQLConnection ) – MySQL database connection object
convert_id_to_slug ( panelist_id )
Converts a panelist ID to the corresponding panelist slug string.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
Panelist slug string if a corresponding value is found.
Otherwise, None is returned
Return type:
str | None
convert_slug_to_id ( panelist_slug )
Converts a panelist slug string to the corresponding panelist ID.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
Panelist ID if a corresponding value is found.
Otherwise, None is returned
Return type:
int | None
id_exists ( panelist_id )
Validates if a panelist ID exists.
Parameters:
panelist_id (int ) – Panelist ID
Returns:
True if the ID exists, otherwise False
Return type:
bool
slug_exists ( panelist_slug )
Validates if a panelist slug string exists.
Parameters:
panelist_slug (str ) – Panelist slug string
Returns:
True if the slug string exists, otherwise False
Return type:
bool