wUi SrSSKrSSKJr SSKJr SrSrSrSrS r S \ 4S jr S \ S \ S \ 4SjrS\ S\ S \ 4SjrS\ S \ 4SjrS\ S \ 4Sjrg)z. Fetches and formats the NBA playoff picture. N)tabulate)PlayoffPicturezzzzzreturnc^[5n[R"UR55$N)rjsonloadsget_json)endpoints 3/Users/cmc/git/zerolabsco/nba-scores/nba/playoff.pyfetch_playoff_picturer s"H ::h'') **rowidxc^^UU4SjnU"S5(a[[S[3$U"S5(d U"S5(a[S[3$U"S5(a[S[3$U"S 5(a[S [3$g ) zCReturn a color-coded status string from clinch/elimination columns.c$>UT;aTTU$S$r)colrrs r val_clinch_status..vals #s s3s8}44rCLINCHED_CONFERENCEzz-Clinched ConfCLINCHED_DIVISIONCLINCHED_PLAYOFFSz x-ClinchedClinched_Play_Inz pi-Play-InELIMINATED_PLAYOFFSz e-Eliminated)BOLDGREENENDYELLOWRED)rrrs`` r _clinch_statusr"s5 !!wocU33 3':#;#; 3%(( C5)) !!l3%(( r result_setsnamec8^^[U4SjU5S5nUb US(dgUSnUSn[U5VVs0sHupVXe_M snnmSU4Sjjn/nUHn U"U S5n U"U S 5n U"U S 5n U S ;a [U 5S OSn URU"U S 5U"U S5U SU 3U U"U S5U"U S5U"U S5U"U S5[ U T5/ 5 M /SQnST;aSOSn[ US[ 3nUS-[XSS9-$s snnf)z=Build a formatted playoff standings table for one conference.c3<># UHoST:XdM Uv M g7f)r$Nr).0rr$s r *_build_conference_table..(s;+Q6d):qq+s  NrowSetzNo data available.headersrc$>UT;aUTU$U$rr)rrdefaultrs r get$_build_conference_table..get0s #s s3s8}77rWINSLOSSESPCT)rNz.3fRANKTEAM-GBHOMEAWAYCONF) #TeamzW-Lr3r7r8r9r:StatusEastEasternWesternz Conference Playoff Picture: grid)r,tablefmt)r)next enumeratefloatappendr"rrr)r#r$rsr,rowsihr/ table_datarwinslossespctpct_strdisplay_headers conf_labeltitlers ` @r _build_conference_tablerT&sS ;+;T BB zH#mG hU3Z$B V  V fAfX   TN V  V  V  3 $  "ZO$n)JfZL res A +t+  4 C  "Y"YS"YS"YJLL#LLL#Lr