PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` import six # {'code': 'N', 'label': 'Name', 'required': True, 'multipart': [ # 'Last Name', 'First Name']}, PROPERTIES = { 'NICKNAME': {'label': 'Nickname'}, 'BDAY': {'label': 'Birthday', 'date': True}, 'TEL': {'label': 'Phone'}, 'EMAIL': {'label': 'E-mail'}, 'ADR': {'label': 'Address', 'multipart': [ 'PO Box', 'Room Number', 'House Number', 'City', 'Prefecture', 'Zip Code', 'Country']}, 'URL': {'label': 'URL'}, 'MEMO': {'label': 'Note'}, } def build_code(data): notation = [] name = data['N'] if not isinstance(name, six.text_type): name = ','.join(name) notation.append('N', name) for prop in PROPERTIES: value = data.get(prop['code']) if not value: continue if prop['date']: value = value.strftime('%Y%m%d') elif prop['multipart']: value = ','.join(value)