o 2&a@sRddlmZddZdddZddZd d Zd d Zd dZddZddZ dS))sixcCst||dSN) _format_text)datastreamr-/usr/lib/python3/dist-packages/awscli/text.py format_textsr NcCsTt|trt||||dSt|trt|||dS|t||ddS)N ) isinstancedict _format_dictlist _format_listwriter text_type)itemr identifier scalar_keysrrrrs  rcCs|sdStdd|Dr t|}|D] }t||||dqdStdd|DrEt|\}}|r7t||||D] }t|||dq9dSt|||dS)Ncs|]}t|tVqdSr)r r .0elrrr #z_format_list..)rrrcsrr)r rrrrrr(r)rr)any_all_scalar_keysr_partition_list_format_scalar_list)rrrall_keyselementscalar_elements non_scalars non_scalarrrrr s&  rcCs>g}g}|D]}t|ttfr||q||q||fSr)r rr append)rscalarsr"r rrrr3s  rcCsT|dur|D] }|d||fqdS|ddd|D|ddS)Nz%s %s  cSsg|]}t|qSr)rr)rrrrr Esz'_format_scalar_list..r )rupperjoin)elementsrrrrrrr>s  rcCsft||d\}}|r#|dur|d||d||d|D] \}}t|||dq%dS)N)rrr&r )rrr)_partition_dictinsertr(rr)r)rrrrr%r"new_identifierr#rrrr Is  r cCsFt}|D]}|D]\}}t|ttfs||q qtt|Sr)setitemsr r raddsorted) list_of_dicts keys_seen item_dictkeyvaluerrrrUs  rc Csg}g}|dur.t|D]\}}t|ttfr!|||fq|t|q||fS|D]}|t||dq0tt | t |}|D] }||||fqM||fS)N) r1r/r r rr$rrgetr.keys)r4rscalarr#r5r6remaining_keys remaining_keyrrrr+^sr+)NN) awscli.compatrr rrrrr rr+rrrrs