Comparison Module
Decklist comparison functionality with enhanced type safety and patterns.
- class simulchip.comparison.CardInfo[source]
Bases:
objectDetailed information about a card in a decklist.
- class simulchip.comparison.DecklistStats[source]
Bases:
objectStatistics for a decklist comparison.
- class simulchip.comparison.ComparisonResult[source]
Bases:
objectComprehensive result of comparing a decklist against a collection.
-
stats:
DecklistStats
- property missing_by_pack: Dict[str, List[CardInfo]]
Get missing cards grouped by pack for backwards compatibility.
- property owned_by_pack: Dict[str, List[CardInfo]]
Get owned cards grouped by pack for backwards compatibility.
- __init__(decklist_id, decklist_name, identity, stats, cards_by_pack=<factory>, cards_by_faction=<factory>, missing_cards=<factory>, owned_cards=<factory>, all_cards=<factory>)
-
stats:
- exception simulchip.comparison.DecklistComparisonError[source]
Bases:
ExceptionCustom exception for comparison errors.
- class simulchip.comparison.DecklistComparer[source]
Bases:
objectCompare decklists against local collection with validation.
- __init__(api_client, collection_manager)[source]
Initialize comparer with validation.
- Parameters:
api_client (
NetrunnerDBAPI) – NetrunnerDB API clientcollection_manager (
CollectionManager) – Local collection manager
- Raises:
TypeError – If arguments are of incorrect type
- Return type:
None
- compare_decklist(decklist_id)[source]
Compare a decklist against local collection with comprehensive analysis.
- Parameters:
decklist_id (
str) – NetrunnerDB decklist ID- Return type:
- Returns:
Detailed comparison result
- Raises:
ValueError – If decklist_id is invalid
DecklistComparisonError – If comparison fails
- get_proxy_cards(comparison_result)[source]
Get list of cards that need proxies.
- Parameters:
comparison_result (
ComparisonResult) – Result from compare_decklist- Return type:
- Returns:
List of cards that need proxies, sorted by pack and title
- get_proxy_cards_for_generation(comparison_result, all_cards=False)[source]
Get list of cards for proxy generation with all_cards option.
- Parameters:
comparison_result (
ComparisonResult) – Result from compare_decklistall_cards (
bool) – If True, return all cards; if False, return only missing cards
- Return type:
- Returns:
List of cards for proxy generation
- format_comparison_report(comparison_result)[source]
Format comparison result as a readable report.
- Parameters:
comparison_result (
ComparisonResult) – Result from compare_decklist- Return type:
- Returns:
Formatted report string