zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #10348
[Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
David Graf has proposed merging lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module.
Requested reviews:
Chris Hillery (ceejatec)
Sorin Marian Nasoi (sorin.marian.nasoi)
For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/email-module-dayofweek-fix/+merge/108335
Date of emails do sometimes not contain the day of the week.
--
https://code.launchpad.net/~zorba-coders/zorba/email-module-dayofweek-fix/+merge/108335
Your team Zorba Coders is subscribed to branch lp:zorba/email-module.
=== modified file 'src/com/zorba-xquery/www/modules/email/imap.xq.src/imap_function.cpp'
--- src/com/zorba-xquery/www/modules/email/imap.xq.src/imap_function.cpp 2012-01-24 11:30:35 +0000
+++ src/com/zorba-xquery/www/modules/email/imap.xq.src/imap_function.cpp 2012-06-01 12:49:33 +0000
@@ -178,12 +178,22 @@
std::string lMonths = "JanFebMarAprMayJunJulAugSepOctNovDec";
size_t lMonthNumber = lMonths.find(lTokens[2]);
- // if the month was not found, were really in trouble!
+ size_t lTokensShift = 0;
if (lMonthNumber == std::string::npos) {
- Item lQName = theModule->getItemFactory()->createQName(SCHEMA_NAMESPACE,
- "XPTY0004");
- throw USER_EXCEPTION(lQName, "Error while processing month in date of message");
- }
+ // if the month is not there, day of week is possibly missing,
+ // shift tokens by one and retry
+ lTokensShift = -1;
+ lMonthNumber = lMonths.find(lTokens[2 + lTokensShift]);
+ if (lMonthNumber == std::string::npos) {
+ // now, we are really in trouble, something is wrong
+ Item lQName = theModule->getItemFactory()
+ ->createQName(SCHEMA_NAMESPACE, "XPTY0004");
+ throw USER_EXCEPTION(
+ lQName,
+ "Error while processing month in date of email message");
+ }
+ }
+
lMonthNumber = lMonthNumber/3 + 1;
// make sure its MM and not just <
if (lMonthNumber < 10) {
@@ -191,12 +201,15 @@
}
lResult << lMonthNumber << "-";
- if (lTokens[1].size() == 1) {
+ if (lTokens[1 + lTokensShift].size() == 1) {
lResult << 0;
}
- lResult << lTokens[1] << "T";
+ lResult << lTokens[1 + lTokensShift] << "T";
// now hh:mm:ss
- lResult << lTokens[4].substr(0,2) << ":" << lTokens[4].substr(3,2) << ":" << lTokens[4].substr(6,2);
+ lResult << lTokens[4 + lTokensShift].substr(0,2) << ":"
+ << lTokens[4 + lTokensShift].substr(3,2) << ":"
+ << lTokens[4 + lTokensShift].substr(6,2);
+
return lResult.str();
Follow ups
-
[Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: noreply, 2012-06-14
-
[Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: Zorba Build Bot, 2012-06-14
-
[Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: Zorba Build Bot, 2012-06-14
-
[Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: David Graf, 2012-06-14
-
Re: [Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: Chris Hillery, 2012-06-06
-
[Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: Sorin Marian Nasoi, 2012-06-06
-
Re: [Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: Sorin Marian Nasoi, 2012-06-06
-
Re: [Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: Chris Hillery, 2012-06-04
-
Re: [Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: Alexander Kreutz, 2012-06-01
-
Re: [Merge] lp:~zorba-coders/zorba/email-module-dayofweek-fix into lp:zorba/email-module
From: David Graf, 2012-06-01