Fox Mulder (fox_mulder_cp) wrote,
Fox Mulder
fox_mulder_cp

Продолжая эпопею с написанием конвертера контактлиста от гугля...

Это треш какой-то.
Я таки нашел время этим самым конвертером заняться.
Я уже с пару недель назад плевался на тот поток сознания, который гугль выдаёт в качестве резервной копии контактов что в csv, что в vcf.
Дык вот, из 87 полей этого CSV нормально заполнены только два последних, и несомненно, самых важных поля "Категории" и "Приоритет".
Распарсил я этот поток сознания на пары ключ-значение, во всех моих контактах этих пар набралось едва ли 10. А обычно 3-6.
Но самое весёлое, что эта срань использует какую-то неземную логику, навроде засовыния всякой херни, имеющей свои нормальные поля в поле Notes'ов.

Например:
Key:Notes,      Value:"Mobile Phone: XXXXXXXX"
про мультистроковые Notes и поля адресов - это вообще можно застрелиться

Вот еще прекрасного:
 Notes:  "E-mail Address: user@jabber.kiev.ua E-mail Address: user@jabbercity.ru Mobile Phone: XXX XXXXXXX"
В вебе по этому контакту все отлично, емейлы в своих полях, телефоны в своих, а в выгрузке - извращайтесь на здоровье.

Если что, у меня в гугль контактах поле заметок заполнено у пары человек, я не имею дурной привычки хранить в заметках дни рождения, номера телефонок, если для этого предназначенные чётко выделенные поля.

И вот щас сижу и думаю, какими регекспами этот срачик в поле Notes'ов привести в порядок.
Хорошо, что хотя бы с приведением номеров телефонов к стандарту всё проще.
А еще в формате предусмотрено три варианта адресов - дом, работа, другой, и это - полный пушистый полярный зверёк, который надо править ручками, поскольку эта тварь суёт cr-lf и бьёт строку с одним контактом на несколько, после чего парсер валится с исключением, как и ексель, который просто разбивает контакт на несколько строк, и это надо отслеживать руками самостоятельно...
Tags: google, гугль, гугльсофт
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments