summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xChangeLog11
-rwxr-xr-xNEWS6
-rwxr-xr-xpo/calcurse.pot64
-rw-r--r--po/de.po66
-rw-r--r--po/en.po66
-rw-r--r--po/es.po66
-rwxr-xr-xpo/fr.po66
-rw-r--r--po/nl.po66
-rwxr-xr-xsrc/io.c87
9 files changed, 287 insertions, 211 deletions
diff --git a/ChangeLog b/ChangeLog
index 321151e..773df2f 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-09-29 Frederic Culot <frederic@culot.org>
+
+ * === Released 2.3_beta ===
+
+ * NEWS: update for 2.3_beta
+
+ * io.c (ical_read_rrule): interval is now correctly retrieved,
+ wherever it is inside ical RRULE property
+
+ * io.c (ical_compute_rpt_until): new function
+
2008-09-24 Frederic Culot <frederic@culot.org>
* src/io.c (ical_read_note): do not create note if it has zero
diff --git a/NEWS b/NEWS
index fb5d5dd..8d1252c 100755
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+[29 Sep 2008]
+Version 2.3_beta beta version available for testing.
+- New feature:
+ * ical import added
+
+
[28 Aug 2008]
Version 2.2
- New features:
diff --git a/po/calcurse.pot b/po/calcurse.pot
index 71d2a14..28180f6 100755
--- a/po/calcurse.pot
+++ b/po/calcurse.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -977,11 +977,11 @@ msgstr ""
msgid "Choose the file used to export calcurse data:"
msgstr ""
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr ""
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr ""
@@ -1082,124 +1082,124 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr ""
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
msgid "could not get entire item description."
msgstr ""
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
msgid "could not retrieve item summary."
msgstr ""
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
msgid "Enter the file name to import data from:"
msgstr ""
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr ""
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr ""
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/de.po b/po/de.po
index ac9abf3..a98c5fa 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,4 +1,4 @@
-# $calcurse: de.po,v 1.18 2008/09/23 17:31:56 culot Exp $
+# $calcurse: de.po,v 1.19 2008/09/29 06:27:53 culot Exp $
#
# German translations for calcurse package.
# Copyright (C) 2006-2007 Michael Schulz <bloodshower@web.de>
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 1.9\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2007-09-02 18:06+0200\n"
"Last-Translator: Michael\n"
"Language-Team: Michael Schulz <bloodshower@freenet.de>\n"
@@ -1325,13 +1325,13 @@ msgstr "Exportiere..."
msgid "Choose the file used to export calcurse data:"
msgstr "W�hlen Sie die Datei in die exportiert werden soll:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr ""
"Auf die Datei kann nicht zugegriffen werden, bitte einen anderen Dateinamen "
"eingeben."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "[EINGABE] um fortzufahren."
@@ -1442,129 +1442,129 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "SCHWERER FEHLER in day_popup_item: unbekannter Eintragstyp\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Geben Sie eine neue Beschreibung ein:"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Geben Sie eine neue Beschreibung ein:"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
#, fuzzy
msgid "Enter the file name to import data from:"
msgstr "W�hlen Sie die Datei in die exportiert werden soll:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "SCHWERER FEHLER in io_export_data: falscher Exportiermoduns\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/en.po b/po/en.po
index f150342..6bbf5f7 100644
--- a/po/en.po
+++ b/po/en.po
@@ -1,4 +1,4 @@
-# $calcurse: en.po,v 1.13 2008/09/23 17:31:56 culot Exp $
+# $calcurse: en.po,v 1.14 2008/09/29 06:27:53 culot Exp $
#
# English/GB translation of calcurse.
# Copyright (C) 2006 Copyright (c) Frederic Culot <frederic@culot.org>
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 1.4\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2006-07-03 00:05+0100\n"
"Last-Translator: Neil Williams <linux@codehelp.co.uk>\n"
"Language-Team: English/GB <en_GB@li.org>\n"
@@ -1178,11 +1178,11 @@ msgstr "aborting...\n"
msgid "Choose the file used to export calcurse data:"
msgstr ""
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr ""
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
#, fuzzy
msgid "Press [ENTER] to continue."
msgstr "Press [ENTER] to continue"
@@ -1295,128 +1295,128 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Enter description :"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Enter description :"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
msgid "Enter the file name to import data from:"
msgstr ""
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "FATAL ERROR in todo_delete_bynum: no such todo\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/es.po b/po/es.po
index 5fdf7c9..19638fd 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,4 +1,4 @@
-# $calcurse: es.po,v 1.14 2008/09/23 17:31:56 culot Exp $
+# $calcurse: es.po,v 1.15 2008/09/29 06:27:53 culot Exp $
#
# Spanish translations for calcurse package.
# Copyright (c) Jose Lopez <testinground@gmail.com> 2006 Free Software Foundation, Inc.
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calcurse 1.8\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2006-09-10 08:06+0200\n"
"Last-Translator: Jose Lopez <testinground@gmail.com>\n"
"Language-Team: Jose Lopez <testinground@gmail.com>\n"
@@ -1329,11 +1329,11 @@ msgstr "Exportando..."
msgid "Choose the file used to export calcurse data:"
msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr "El archivo no es accesible, por favor elige otro nombre de archivo."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "Pulsa [INTRO] para continuar."
@@ -1443,129 +1443,129 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "ERROR FATAL en day_popup_item: no existe ese tipo\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Introduce la descripcion del nuevo elemento:"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Introduce la descripcion del nuevo elemento:"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
#, fuzzy
msgid "Enter the file name to import data from:"
msgstr "Elige el archivo que se usara para exportar los datos de Calcurse:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr ""
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "ERROR FATAL en io_export_data: modo de exportacion erroneo\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 7a80717..cab3bd7 100755
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,4 +1,4 @@
-# $calcurse: fr.po,v 1.24 2008/09/23 17:31:56 culot Exp $
+# $calcurse: fr.po,v 1.25 2008/09/29 06:27:53 culot Exp $
#
# French translations for calcurse package.
# Copyright (C) 2004-2008 Frederic Culot <frederic@culot.org>
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 2.1\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2008-09-23 19:21+0200\n"
"Last-Translator: Frederic Culot <frederic@culot.org>\n"
"Language-Team: French <calcurse-i18n@culot.org>\n"
@@ -1412,11 +1412,11 @@ msgstr "Export..."
msgid "Choose the file used to export calcurse data:"
msgstr "Choisissez le fichier dans lequel exporter les donn�es:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr "Le fichier ne peut �tre ouvert, veuillez entrer un nouveau nom."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "Appuyez sur [ENTREE] pour continuer."
@@ -1522,129 +1522,129 @@ msgstr "Pcal"
msgid "ERROR in ical_log: unknown ical type"
msgstr "ERREUR FATALE dans ical_log: type ical inconnu"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr "la fr�quence de r�p�tition n'a pas �t� trouv�e."
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr "la fr�quence de r�p�tition est inconnue."
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr "la r�gle de r�p�tition est mal form�e."
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr "les dates � ne pas r�p�ter sont mal form�es."
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
"Impossible de cr�er une nouvelle note pour enregistrer la d�scription. "
"Abandon...\n"
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr "Alerte: impossible d'ouvrir %s, abandon..."
-#: src/io.c:1938
+#: src/io.c:1991
msgid "could not get entire item description."
msgstr "impossible de trouver la description enti�re de l'�l�ment."
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr "d�scription mal form�e."
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr "le rendez-vous n'a pas de date de d�but."
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr "impossible de calculer la dur�e (pas de date de fin)."
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr "L'�l�ment a une dur�e n�gative."
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr "L'�l�ment n'a pu �tre identifi�."
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
msgid "could not retrieve item summary."
msgstr "impossible de r�cup�rer le r�sum� de l'�v�nement."
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr "impossible de r�cup�rer l'heure de d�but de l'�v�nement."
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr "impossible de r�cup�rer l'heure de fin de l'�v�nement."
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr "la dur�e de l'�l�ment est mal form�e."
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
"Le fichier ical semble erron�. La fin de l'�l�ment n'a pas �t� trouv�e."
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr "La priorit� de l'�l�ment est erron�e (devrait �tre entre 1 et 9)."
-#: src/io.c:2258
+#: src/io.c:2319
msgid "Enter the file name to import data from:"
msgstr "Entrez le nom du fichier depuis lequel importer les donn�es:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr "Rapport sur les donn�es import�es: %04d lignes lues "
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr "%d rdv / %d �vnts / %d t�ches / %d erron�s "
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr "%d rdv / %d �vnts / %d t�ches / %d erron�s ([ENTREE] pour continuer)"
-#: src/io.c:2314
+#: src/io.c:2375
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import"
-#: src/io.c:2320
+#: src/io.c:2381
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "ERREUR FATALE: le fichier d'entr�e n'a pu �tre ouvert, abandon..."
-#: src/io.c:2327
+#: src/io.c:2388
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "ERREUR FATALE dans io_import_data: mauvais mode d'import"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
"Attention: l'en-t�te ical est mal form� ou le num�ro de version est mauvais. "
"Abandon..."
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr "Attention: impossible d'ouvrir le fichier de log, abandon..."
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr "Certains �l�ments n'ont pu �tre import�s, voir le fichier de log ?"
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr "Attention: impossible d'effacer le fichier de log, abandon..."
diff --git a/po/nl.po b/po/nl.po
index 4eb460c..abd0999 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,4 +1,4 @@
-# $calcurse: nl.po,v 1.11 2008/09/23 17:31:56 culot Exp $
+# $calcurse: nl.po,v 1.12 2008/09/29 06:27:53 culot Exp $
#
# Dutch translations for calcurse package.
# Copyright (C) 2007-2008 Jeremy Roon <p.roon@chello.nl>
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: calcurse 2.1\n"
"Report-Msgid-Bugs-To: frederic@culot.org\n"
-"POT-Creation-Date: 2008-09-23 19:21+0200\n"
+"POT-Creation-Date: 2008-09-28 20:02+0200\n"
"PO-Revision-Date: 2008-05-03 21:35+0200\n"
"Last-Translator: Jeremy Roon\n"
"Language-Team: Jeremy Roon <p.roon@chello.nl>\n"
@@ -1312,11 +1312,11 @@ msgstr "Exporteren..."
msgid "Choose the file used to export calcurse data:"
msgstr "Kies het bestand om calcurse data naar te exporteren:"
-#: src/io.c:186 src/io.c:2260
+#: src/io.c:186 src/io.c:2321
msgid "The file cannot be accessed, please enter another file name."
msgstr "Het bestand is ontoegankelijk, kies een andere bestandsnaam."
-#: src/io.c:187 src/io.c:2261 src/recur.c:676
+#: src/io.c:187 src/io.c:2322 src/recur.c:676
msgid "Press [ENTER] to continue."
msgstr "[ENTER]-toets om door te gaan."
@@ -1423,130 +1423,130 @@ msgstr ""
msgid "ERROR in ical_log: unknown ical type"
msgstr "FATALE FOUT in day_popup_item: onbekend itemtype\n"
-#: src/io.c:1786
+#: src/io.c:1823
msgid "recurrence frequence not found."
msgstr ""
-#: src/io.c:1804
+#: src/io.c:1841
msgid "recurrence frequence not recognized."
msgstr ""
-#: src/io.c:1853
+#: src/io.c:1906
msgid "recurrence rule malformed."
msgstr ""
-#: src/io.c:1908
+#: src/io.c:1961
msgid "recurrence exception dates malformed."
msgstr ""
-#: src/io.c:1927 src/io.c:2342
+#: src/io.c:1980 src/io.c:2403
msgid ""
"Warning: could not create new note file to store description. Aborting...\n"
msgstr ""
-#: src/io.c:1931
+#: src/io.c:1984
#, c-format
msgid "Warning: could not open %s, Aborting..."
msgstr ""
-#: src/io.c:1938
+#: src/io.c:1991
#, fuzzy
msgid "could not get entire item description."
msgstr "Voer een nieuwe beschrijving in:"
-#: src/io.c:1951
+#: src/io.c:2013
msgid "description malformed."
msgstr ""
-#: src/io.c:2027
+#: src/io.c:2092
msgid "appointment has no start time."
msgstr ""
-#: src/io.c:2035
+#: src/io.c:2100
msgid "could not compute duration (no end time)."
msgstr ""
-#: src/io.c:2054
+#: src/io.c:2119
msgid "item has a negative duration."
msgstr ""
-#: src/io.c:2071
+#: src/io.c:2136
msgid "item could not be identified."
msgstr ""
-#: src/io.c:2079 src/io.c:2203
+#: src/io.c:2144 src/io.c:2264
#, fuzzy
msgid "could not retrieve item summary."
msgstr "Voer een nieuwe beschrijving in:"
-#: src/io.c:2095
+#: src/io.c:2158
msgid "could not retrieve event start time."
msgstr ""
-#: src/io.c:2108
+#: src/io.c:2169
msgid "could not retrieve event end time."
msgstr ""
-#: src/io.c:2117
+#: src/io.c:2178
msgid "item duration malformed."
msgstr ""
-#: src/io.c:2146 src/io.c:2243
+#: src/io.c:2207 src/io.c:2304
msgid "The ical file seems to be malformed. The end of item was not found."
msgstr ""
-#: src/io.c:2222
+#: src/io.c:2283
msgid "item priority is not acceptable (must be between 1 and 9)."
msgstr ""
-#: src/io.c:2258
+#: src/io.c:2319
#, fuzzy
msgid "Enter the file name to import data from:"
msgstr "Kies het bestand om calcurse data naar te exporteren:"
-#: src/io.c:2301
+#: src/io.c:2362
#, c-format
msgid "Import process report: %04d lines read "
msgstr ""
-#: src/io.c:2303
+#: src/io.c:2364
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped "
msgstr ""
-#: src/io.c:2305
+#: src/io.c:2366
#, c-format
msgid "%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"
msgstr ""
-#: src/io.c:2314
+#: src/io.c:2375
#, fuzzy
msgid "FATAL ERROR in io_import_data: unknown import type"
msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n"
-#: src/io.c:2320
+#: src/io.c:2381
#, fuzzy
msgid "FATAL ERROR: the input file cannot be accessed, Aborting..."
msgstr "FATALE FOUT: tijdelijk bestand kan niet worden aangemaakt!"
-#: src/io.c:2327
+#: src/io.c:2388
#, fuzzy
msgid "FATAL ERROR in io_import_data: wrong import mode"
msgstr "FATALE FOUT in io_export_data: verkeerde export modus\n"
-#: src/io.c:2337
+#: src/io.c:2398
msgid "Warning: ical header malformed or wrong version number. Aborting..."
msgstr ""
-#: src/io.c:2347
+#: src/io.c:2408
msgid "Warning: could not open temporary log file, Aborting..."
msgstr ""
-#: src/io.c:2393
+#: src/io.c:2454
msgid "Some items could not be imported, see log file ?"
msgstr ""
-#: src/io.c:2427
+#: src/io.c:2488
msgid "Warning: could not erase temporary log file, Aborting..."
msgstr ""
diff --git a/src/io.c b/src/io.c
index ed7bbf0..243128d 100755
--- a/src/io.c
+++ b/src/io.c
@@ -1,4 +1,4 @@
-/* $calcurse: io.c,v 1.39 2008/09/24 19:06:02 culot Exp $ */
+/* $calcurse: io.c,v 1.40 2008/09/29 06:27:53 culot Exp $ */
/*
* Calcurse - text-based organizer
@@ -1723,6 +1723,42 @@ ical_dur2long (char *durstr)
}
/*
+ * Compute the vevent repetition end date from the repetition count.
+ *
+ * Extract from RFC2445:
+ * The COUNT rule part defines the number of occurrences at which to
+ * range-bound the recurrence. The "DTSTART" property value, if specified,
+ * counts as the first occurrence.
+ */
+static long
+ical_compute_rpt_until (long start, ical_rpt_t *rpt)
+{
+ long until;
+
+ switch (rpt->type)
+ {
+ case RECUR_DAILY:
+ until = date_sec_change (start, 0, rpt->freq * (rpt->count - 1));
+ break;
+ case RECUR_WEEKLY:
+ until = date_sec_change (start, 0,
+ rpt->freq * WEEKINDAYS * (rpt->count - 1));
+ break;
+ case RECUR_MONTHLY:
+ until = date_sec_change (start, rpt->freq * (rpt->count - 1), 0);
+ break;
+ case RECUR_YEARLY:
+ until = date_sec_change (start, rpt->freq * 12 * (rpt->count - 1), 0);
+ break;
+ default:
+ until = 0;
+ break;
+ /* NOTREACHED */
+ }
+ return until;
+}
+
+/*
* Read a recurrence rule from an iCalendar RRULE string.
*
* Value Name: RECUR
@@ -1767,9 +1803,11 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
const string_t weekly = STRING_BUILD ("WEEKLY");
const string_t monthly = STRING_BUILD ("MONTHLY");
const string_t yearly = STRING_BUILD ("YEARLY");
+ const string_t count = STRING_BUILD ("COUNT=");
+ const string_t interv = STRING_BUILD ("INTERVAL=");
unsigned interval;
ical_rpt_t *rpt;
- char *p, *q;
+ char *p;
rpt = NULL;
if ((p = strchr (rrulestr, ':')) != NULL)
@@ -1778,6 +1816,7 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
p++;
rpt = malloc (sizeof (ical_rpt_t));
+ bzero (rpt, sizeof (ical_rpt_t));
if (sscanf (p, "FREQ=%s", freqstr) != 1)
{
ical_log (log, ICAL_VEVENT, itemline,
@@ -1815,35 +1854,51 @@ ical_read_rrule (FILE *log, char *rrulestr, unsigned *noskipped,
range-bound the recurrence. The "DTSTART" property value, if
specified, counts as the first occurrence.
*/
- if ((q = strstr (p, "UNTIL")) != NULL)
+ if ((p = strstr (rrulestr, "UNTIL")) != NULL)
{
char *untilstr;
- untilstr = strchr (q, '=');
+ untilstr = strchr (p, '=');
rpt->until = ical_datetime2long (++untilstr, NULL);
}
else
{
- unsigned count;
+ unsigned cnt;
+ char *countstr;
- if (sscanf (p, "COUNT=%u", &count) != 1)
+ if ((countstr = strstr (rrulestr, count.str)) != NULL)
{
- rpt->until = 0;
- /* endless repetition */
+ countstr += count.len;
+ if (sscanf (countstr, "%u", &cnt) != 1)
+ {
+ rpt->until = 0;
+ /* endless repetition */
+ }
+ else
+ {
+ rpt->count = cnt;
+ }
}
else
- {
- rpt->count = count;
- }
+ rpt->until = 0;
}
- if (sscanf (p, "INTERVAL=%u", &interval) == 1)
+
+ if ((p = strstr (rrulestr, interv.str)) != NULL)
{
- rpt->freq = interval;
+ p += interv.len;
+ if (sscanf (p, "%u", &interval) != 1)
+ {
+ rpt->freq = 1;
+ /* default frequence if none specified */
+ }
+ else
+ {
+ rpt->freq = interval;
+ }
}
else
{
rpt->freq = 1;
- /* default frequence if none specified */
}
}
else
@@ -2024,6 +2079,10 @@ ical_read_event (FILE *fdi, FILE *log, unsigned *noevents, unsigned *noapoints,
{
if (vevent.mesg)
{
+ if (vevent.rpt && vevent.rpt->count)
+ vevent.rpt->until = ical_compute_rpt_until (vevent.start,
+ vevent.rpt);
+
switch (vevent_type)
{
case APPOINTMENT: