Based on 'Export for outlook.com and other services',
not the export for Outlook 2010 and 2013.")
-;;(defconst bbdb3-csv-import-combined)
+;(defconst bbdb3-csv-import-combined)
(defvar bbdb3-csv-import-mapping-table nil
(replace-regexp-in-string "[0-9]+" (number-to-string num) string))
(map-assoc (field)
;; For mappings with just 1 simple csv-field, get it's data
- (assoc-plus (car (map-bbdb3 field)) csv-record)))
+ (car (rd-assoc field))))
(let ((name (let ((first (map-assoc "firstname"))
(middle (map-assoc "middlename"))
(cons e (cadr list)))) ;; change from (a b) to (a . b)
(rd #'assoc-expand (map-bbdb3 "xfields"))))
(address (rd (lambda (mapping-elem)
- (let ((address-lines (mapcar-assoc (caadr mapping-elem)))
+ (let ((address-lines (rd (lambda (elem)
+ (assoc-plus elem csv-record))
+ (caadr mapping-elem)))
(address-data (mapcar-assoc (cdadr mapping-elem)))
(elem-name (car mapping-elem)))
- ;; outlook-web has 1 address line, bbdb requires 2
(if (= (length address-lines) 1)
- (setq address-lines (append address-lines '(""))))
+ (setq address-lines (-snoc address-lines "")))
(when (consp elem-name)
(setq elem-name (cdr (assoc (car elem-name) csv-record))))
(bbdb-create-internal name affix aka organization mail phone address xfields t))))
(setq bbdb-allow-duplicates initial-duplicate-value)))
-
(defun bbdb3-csv-import-flatten1 (list)
"flatten LIST by 1 level."
(--reduce-from (if (consp it)