1 Return-Path: <jani@nikula.org>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id 3C865431FC0
\r
6 for <notmuch@notmuchmail.org>; Sun, 19 Feb 2012 14:56:01 -0800 (PST)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5
\r
12 tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled
\r
13 Received: from olra.theworths.org ([127.0.0.1])
\r
14 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id Bm7w7f1ULuIj for <notmuch@notmuchmail.org>;
\r
16 Sun, 19 Feb 2012 14:55:59 -0800 (PST)
\r
17 Received: from mail-lpp01m010-f53.google.com (mail-lpp01m010-f53.google.com
\r
18 [209.85.215.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
\r
19 (No client certificate requested)
\r
20 by olra.theworths.org (Postfix) with ESMTPS id EB30C431FAE
\r
21 for <notmuch@notmuchmail.org>; Sun, 19 Feb 2012 14:55:58 -0800 (PST)
\r
22 Received: by lahd3 with SMTP id d3so5943891lah.26
\r
23 for <notmuch@notmuchmail.org>; Sun, 19 Feb 2012 14:55:56 -0800 (PST)
\r
24 Received-SPF: pass (google.com: domain of jani@nikula.org designates
\r
25 10.152.123.68 as permitted sender) client-ip=10.152.123.68;
\r
26 Authentication-Results: mr.google.com;
\r
27 spf=pass (google.com: domain of jani@nikula.org
\r
28 designates 10.152.123.68 as permitted sender)
\r
29 smtp.mail=jani@nikula.org
\r
30 Received: from mr.google.com ([10.152.123.68])
\r
31 by 10.152.123.68 with SMTP id ly4mr13451530lab.13.1329692156079
\r
32 (num_hops = 1); Sun, 19 Feb 2012 14:55:56 -0800 (PST)
\r
34 Received: by 10.152.123.68 with SMTP id ly4mr11259344lab.13.1329692156005;
\r
35 Sun, 19 Feb 2012 14:55:56 -0800 (PST)
\r
36 Received: from localhost (dsl-hkibrasgw4-fe50f800-253.dhcp.inet.fi.
\r
38 by mx.google.com with ESMTPS id s6sm21422411lbl.12.2012.02.19.14.55.53
\r
39 (version=SSLv3 cipher=OTHER); Sun, 19 Feb 2012 14:55:55 -0800 (PST)
\r
40 From: Jani Nikula <jani@nikula.org>
\r
41 To: notmuch@notmuchmail.org
\r
42 Subject: [RFC PATCH 0/2] natural language date range search
\r
43 Date: Mon, 20 Feb 2012 00:55:50 +0200
\r
44 Message-Id: <cover.1329689945.git.jani@nikula.org>
\r
45 X-Mailer: git-send-email 1.7.5.4
\r
47 ALoCoQnqnbkFb8zcSyIAhNbqZytTytjqIYUPuaTr+rvqqtLw7vMLyJ9uOFKQ9XGepPuRXwsmXFA1
\r
48 X-BeenThere: notmuch@notmuchmail.org
\r
49 X-Mailman-Version: 2.1.13
\r
51 List-Id: "Use and development of the notmuch mail system."
\r
52 <notmuch.notmuchmail.org>
\r
53 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
54 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
55 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
56 List-Post: <mailto:notmuch@notmuchmail.org>
\r
57 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
58 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
59 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
60 X-List-Received-Date: Sun, 19 Feb 2012 22:56:01 -0000
\r
62 Hi all, these patches add support for natural language date range search
\r
63 of the form date:since..until, where since and until can be fairly free
\r
64 form date/time expressions in English.
\r
68 date:two-days..yesterday (all mail in the two days before today)
\r
69 date:12h.. (all mail since 12 hrs ago)
\r
70 date:november..november (all mail in previous november)
\r
71 date:2011.. (all mail since the beginning of 2011)
\r
72 date:last-week..this-week (all mail over last and current week)
\r
73 date:5/10/2011-12:34:55..10pm_2012-01-14
\r
75 Plus plenty more and combinations of the above.
\r
77 The repository for the date/time parser with a command line tool is at
\r
78 [1], and there's a README [2] with a bunch of details too.
\r
85 [1] https://gitorious.org/parse-time-string/parse-time-string
\r
86 [2] https://gitorious.org/parse-time-string/parse-time-string/blobs/master/README
\r
90 lib: add date/time parser
\r
91 lib: add date range search
\r
93 lib/Makefile.local | 2 +
\r
94 lib/database-private.h | 1 +
\r
95 lib/database.cc | 4 +
\r
96 lib/getdate-proc.cc | 34 ++
\r
97 lib/getdate-proc.h | 21 +
\r
98 lib/parse-time-string.c | 1304 +++++++++++++++++++++++++++++++++++++++++++++++
\r
99 lib/parse-time-string.h | 95 ++++
\r
100 7 files changed, 1461 insertions(+), 0 deletions(-)
\r
101 create mode 100644 lib/getdate-proc.cc
\r
102 create mode 100644 lib/getdate-proc.h
\r
103 create mode 100644 lib/parse-time-string.c
\r
104 create mode 100644 lib/parse-time-string.h
\r