@@ -691,6 +691,16 @@ def run_no_key_public_suite(client: SteamClient, args) -> None:
691691 )
692692 ),
693693 )
694+ run_check (
695+ "Market Listings Map" ,
696+ lambda : _format_market_listings_map (
697+ client .get_market_item_listings_map (
698+ args .market_app_id ,
699+ args .market_hash_name ,
700+ count = 10 ,
701+ )
702+ ),
703+ )
694704 run_check (
695705 "Market Listings Multi-Page" ,
696706 lambda : _format_market_listings_summary (
@@ -703,6 +713,18 @@ def run_no_key_public_suite(client: SteamClient, args) -> None:
703713 )
704714 ),
705715 )
716+ run_check (
717+ "Market Listings Multi-Page Map" ,
718+ lambda : _format_market_listings_map (
719+ client .get_all_market_item_listings_map (
720+ args .market_app_id ,
721+ args .market_hash_name ,
722+ count = 10 ,
723+ max_pages = 2 ,
724+ max_listings = 15 ,
725+ )
726+ ),
727+ )
706728 run_check (
707729 "Market Listings Multi-Page By URL" ,
708730 lambda : _format_market_listings_summary (
@@ -714,6 +736,14 @@ def run_no_key_public_suite(client: SteamClient, args) -> None:
714736 )
715737 ),
716738 )
739+ run_check (
740+ "Get Market Listing By ID" ,
741+ lambda : _format_market_listing_lookup (client , args ),
742+ )
743+ run_check (
744+ "Get Market Listing By ID From URL" ,
745+ lambda : _format_market_listing_lookup_by_url (client , args ),
746+ )
717747 run_check (
718748 "Find Market Listings" ,
719749 lambda : _format_found_market_listings (
@@ -822,6 +852,10 @@ def run_community_suite(client: SteamClient, args) -> None:
822852 "Get Group Member Summaries" ,
823853 lambda : _format_group_member_summaries (client .get_group_member_summaries (args .group_url , limit = 5 )),
824854 )
855+ run_check (
856+ "Get Group Member Summaries Map" ,
857+ lambda : _format_group_member_summaries_map (client .get_group_member_summaries_map (args .group_url , limit = 5 )),
858+ )
825859 if client .api_key :
826860 run_check (
827861 "Get Friend Bans" ,
@@ -1177,6 +1211,20 @@ def _format_group_member_summaries(payload: dict) -> str:
11771211 return "members={0} first={1}" .format (len (members ), first_name )
11781212
11791213
1214+ def _format_group_member_summaries_map (payload : dict ) -> str :
1215+ members = payload .get ("members" , [])
1216+ members_by_steam_id = payload .get ("members_by_steam_id" , {})
1217+ first_id = next (iter (members_by_steam_id ), "<none>" )
1218+ first_name = members [0 ].get ("personaname" ) if members else "<none>"
1219+ first_name = _safe_console_text (first_name )
1220+ return "members={0} indexed={1} first_id={2} first={3}" .format (
1221+ len (members ),
1222+ len (members_by_steam_id ),
1223+ first_id ,
1224+ first_name ,
1225+ )
1226+
1227+
11801228def _format_group_details (payload : dict ) -> str :
11811229 return "group={0} members={1} online={2}" .format (
11821230 _safe_console_text (payload .get ("group_name" ) or "<none>" ),
@@ -1221,6 +1269,16 @@ def _format_market_listings_summary(payload: dict) -> str:
12211269 )
12221270
12231271
1272+ def _format_market_listings_map (payload : dict ) -> str :
1273+ listings_by_id = payload .get ("listings_by_id" , {})
1274+ first_listing_id = next (iter (listings_by_id ), "<none>" )
1275+ return "listings={0} indexed={1} first_listing_id={2}" .format (
1276+ len (payload .get ("listings" , [])),
1277+ len (listings_by_id ),
1278+ first_listing_id ,
1279+ )
1280+
1281+
12241282def _format_found_market_listings (payload : dict ) -> str :
12251283 listings = payload .get ("listings" , [])
12261284 first_price = None
@@ -1251,6 +1309,43 @@ def _format_market_find(payload: dict) -> str:
12511309 )
12521310
12531311
1312+ def _format_market_listing_lookup (client : SteamClient , args ) -> str :
1313+ listings_map = client .get_market_item_listings_map (
1314+ args .market_app_id ,
1315+ args .market_hash_name ,
1316+ count = 10 ,
1317+ )
1318+ listing_id = next (iter (listings_map .get ("listings_by_id" , {})), None )
1319+ if listing_id is None :
1320+ return "skipped: no market listings returned"
1321+ listing = client .get_market_listing_by_id (
1322+ args .market_app_id ,
1323+ args .market_hash_name ,
1324+ listing_id ,
1325+ count = 10 ,
1326+ )
1327+ price = listing .get ("converted_price" ) or listing .get ("price" )
1328+ return "listing_id={0} price={1}" .format (listing .get ("listing_id" ), price )
1329+
1330+
1331+ def _format_market_listing_lookup_by_url (client : SteamClient , args ) -> str :
1332+ market_url = build_market_listing_url (args .market_app_id , args .market_hash_name )
1333+ listings_map = client .get_market_item_listings_map_by_url (
1334+ market_url ,
1335+ count = 10 ,
1336+ )
1337+ listing_id = next (iter (listings_map .get ("listings_by_id" , {})), None )
1338+ if listing_id is None :
1339+ return "skipped: no market listings returned"
1340+ listing = client .get_market_listing_by_id_by_url (
1341+ market_url ,
1342+ listing_id ,
1343+ count = 10 ,
1344+ )
1345+ price = listing .get ("converted_price" ) or listing .get ("price" )
1346+ return "listing_id={0} price={1}" .format (listing .get ("listing_id" ), price )
1347+
1348+
12541349def _format_inventory_items (payload : dict ) -> str :
12551350 return "items={0} total_inventory_count={1} pages={2}" .format (
12561351 len (payload .get ("items" , [])),
0 commit comments