I'm moving from Eudora to Thunderbird (on Mac OS), but nothing does a good job for my address book
I'm trying to help a friend move from Eudora to Thunderbird (on Mac OS), and none of the six or seven methods I've tried (including Thunderbird's Import Address Book from Eudora, and from .csv exported by Eudora) does a decent job with his address book. One big reason is clearly that he has hundreds of entries with free-form text over 256 characters; many also have embedded line breaks, and many use "special" (non-ASCII) characters. If necessary, I could write a program to read Eudora's address book file and write Thunderbird's -- I was a professional software engineer for years -- but I wonder if there's an easier way :-) .
Wšykne wótegrona (6)
Just a suggesstion, can you import it into a spreadsheet, structure them a bit more, removing crlf etc. exporting them back to csv and importing in TB
we get complaints all the time. But Eudora apparently had a very laissez faire address book, almost to the point of the program looking for an email address in there somewhere. Thunderbird is however tightly defined.
If your going to write code, perhaps you might be better writing improvements to Thunderbird's import. Anyone with skills and time is welcome. Anyone interested in helping develop the new address book even more so.
Otherwise I usually end up sanitizing a csv file and importing that.
DonAByrd said
I'm trying to help a friend move from Eudora to Thunderbird (on Mac OS), and none of the six or seven methods I've tried (including Thunderbird's Import Address Book from Eudora, and from .csv exported by Eudora) does a decent job with his address book. One big reason is clearly that he has hundreds of entries with free-form text over 256 characters; many also have embedded line breaks, and many use "special" (non-ASCII) characters. If necessary, I could write a program to read Eudora's address book file and write Thunderbird's -- I was a professional software engineer for years -- but I wonder if there's an easier way :-) .
Gnospen said
Just a suggesstion, can you import it into a spreadsheet, structure them a bit more, removing crlf etc. exporting them back to csv and importing in TB
I've tried that, but the long text fields are a big problem. Eudora's export to .csv seems to have an absolute limit of 256 chars., where it truncates the field. I thought TB's import had the same limit, but I've gotten it to accept smthg over 300 chars. before it truncates; I don't know if there's a fixed limit or if it truncated for another reason, though it's not obvious why it truncated at that point in my test. Anyway, many of Doug's entries have fields way longer than that; over 100 exceed 1000 chars., and one is over 9,000.
Matt said
we get complaints all the time. But Eudora apparently had a very laissez faire address book, almost to the point of the program looking for an email address in there somewhere. Thunderbird is however tightly defined. If your going to write code, perhaps you might be better writing improvements to Thunderbird's import. Anyone with skills and time is welcome. Anyone interested in helping develop the new address book even more so. Otherwise I usually end up sanitizing a csv file and importing that.
Eudora's address book format does seem very loose, but that's not the problem. I've been trying sanitizing the csv file Eudora exports, but TB truncates "all" of Doug's 500+ fields over 256 chars… Well, I thought it truncated "all" of them, but I just got it to accept over 300 chars. of a longer one, so maybe it has a limit of somewhat more! But he has hundreds that are much longer, including 116 over 1000 chars. and one of 9,000.
I'm not surprised you suggested writing improvements to Thunderbird's import. I'd be glad to do something that'd benefit others as well as Doug, but I wonder how much overhead there'd be to understanding the code that needs work -- or even finding it, though something like code to import files is probably nicely limited to one module -- and then figuring out what to change, linking and testing my changes. The usual problems of doing anything with a large program you've never touched before :-) .
Hmm, so your stuck with books within books.
BEst I can suggest at this point it to point you to source and gopr your C++ is strong enough to read what is happening and modify your approach to suit. The Thunderbird address book is a mork file. Described here https://developer.mozilla.org/en/docs/Mork_Structure
There is the source mork parser.cpp http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.cpp and associated header file http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.h
And the Eudora import source. http://mxr.mozilla.org/comm-central/source/mailnews/import/eudora/src/nsEudoraImport.cpp
Matt said
Hmm, so your stuck with books within books. BEst I can suggest at this point it to point you to source and gopr your C++ is strong enough to read what is happening and modify your approach to suit. The Thunderbird address book is a mork file. Described here https://developer.mozilla.org/en/docs/Mork_Structure There is the source mork parser.cpp http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.cpp and associated header file http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.h And the Eudora import source. http://mxr.mozilla.org/comm-central/source/mailnews/import/eudora/src/nsEudoraImport.cpp
Thanks, Matt. My C++ isn't great, but I think it's good enough to help me understand how things work now. (Though the Mork format looks so bad, just understanding how TB handles it might be a big project!) I'd also like to look at the Import from text file, either .csv or LDIF. Can you point me to those? I've been thinking about converting my .csv to LDIF and using TB's Import on that.