]> git.deb.at Git - pkg/abook.git/commitdiff
- wanderlust export filter (Josef Schugt)
authorJaakko Heinonen <jheinonen@users.sourceforge.net>
Mon, 3 Oct 2005 05:22:49 +0000 (05:22 +0000)
committerJaakko Heinonen <jheinonen@users.sourceforge.net>
Mon, 3 Oct 2005 05:22:49 +0000 (05:22 +0000)
ChangeLog
abook.1
filter.c

index 835824066e459fc5642cd4479c206d458f874a8b..8056f30b9c5cbec3eb7df94ce82c1949ee18cb2a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
  - palmcsv import filter (Marc Tardif)
  - use better common code for csv filters (Marc Tardif)
  - translation HOWTO
+ - wanderlust export filter (Josef Schugt)
 
 0.5.4
  - add show_cursor config option (idea from Cheryl Homiak)
diff --git a/abook.1 b/abook.1
index b9f156d8b68f706ec068f4f5e704c2ea66049694..452f0a6c68eb9b43166f2764c4f9567b2cdf75fd 100644 (file)
--- a/abook.1
+++ b/abook.1
@@ -77,6 +77,8 @@ The following \fIoutputformats\fR are supported:
 - \fBtext\fP plain text
 .br
 - \fBspruce\fP Spruce address book
+.br
+- \fBwl\fP Wanderlust address book
 .TP
 \fB\-\-add-email\fP
 Read an e-mail message from stdin and add the sender to the addressbook.
index 72ad6cec0b5d53d0023a48eb8200e0dd76993b5b..5c0a23ed12314aa4d9c497a5e7cf8af750dd1ab3 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -61,6 +61,7 @@ static int    mutt_alias_export(FILE *out, struct db_enumerator e);
 static int     elm_alias_export(FILE *out, struct db_enumerator e);
 static int     text_export_database(FILE *out, struct db_enumerator e);
 static int     spruce_export_database(FILE *out, struct db_enumerator e);
+static int     wl_export_database(FILE *out, struct db_enumerator e);
 
 /*
  * end of function declarations
@@ -89,6 +90,7 @@ struct abook_output_filter e_filters[] = {
        { "palmcsv", N_("Palm comma separated values"), palm_export_database},
        { "elm", N_("elm alias"), elm_alias_export },
        { "text", N_("plain text"), text_export_database },
+       { "wl", N_("Wanderlust address book"), wl_export_database },
        { "spruce", N_("Spruce address book"), spruce_export_database },
        { "\0", NULL, NULL }
 };
@@ -1814,3 +1816,35 @@ spruce_export_database (FILE *out, struct db_enumerator e)
  * end of Spruce export filter
  */
 
+/*
+ * wanderlust addressbook export filter
+ *
+ */
+
+static int
+wl_export_database(FILE *out, struct db_enumerator e)
+{
+       char emails[MAX_EMAILS][MAX_EMAIL_LEN];
+
+       fprintf (out, "# Wanderlust address book written by 'abook'\n\n");
+       db_enumerate_items(e) {
+               split_emailstr(e.item, emails);
+               if (**emails) {
+                       fprintf(out,
+                               "%s\t\"%s\"\t\"%s\"\n",
+                               *emails,
+                               safe_str(database[e.item][NICK]),
+                               safe_str(database[e.item][NAME])
+                       );
+               }
+       }
+
+       fprintf (out, "\n# End of address book file.\n");
+
+       return 0;
+}
+
+/*
+ * end of wanderlust addressbook export filter
+ */
+