def readOne(card): card_lines = card.split('\n') while len(card_lines[0]) == 0: del card_lines[0] use_cr = card_lines[0][-1] == '\r' first_line = card_lines[0].rstrip('\r') if first_line != first_line.rstrip(): card_lines[0] = first_line.rstrip() + ('\r' if use_cr else '') card = '\n'.join(card_lines) return readOne_original(card)
def readOne(card): card = card.replace("\r\n", "\n") card = card.replace("\r", "\n") card_lines = card.split("\n") card_lines = [l.strip() for l in card_lines] #be sure that vcard start and stop correctly if card_lines[0] != "BEGIN:VCARD": if card_lines[0].startswith("BEGIN:VCARD"): card_lines.insert(1, card_lines[0][11:]) card_lines[0] = "BEGIN:VCARD" elif card_lines[0].startswith("VERSION"): card_lines.insert(0, "BEGIN:VCARD") if card_lines[-1] != "END:VCARD": if card_lines[-1].startswith("END:VCARD"): card_lines.append(card_lines[-1][9:]) card_lines[0] = "END:VCARD" card_lines = [l.strip() for l in card_lines] card = '\n'.join(card_lines) return readOne_original(card)