summary refs log tree commit diff
path: root/examples/csv2sexp.py
diff options
context:
space:
mode:
authorArun Isaac2026-09-24 16:00:02 +0100
committerArun Isaac2026-09-24 16:02:33 +0100
commitdeb078b6c92c3352611f85cc0875f91a91dae56c (patch)
treee1bad2e7e89a865a9cd0f4fe6833b2529d7a9b78 /examples/csv2sexp.py
parentc8cadb2949b53666a14975b24929ef65866e6676 (diff)
downloadguile-xapian-deb078b6c92c3352611f85cc0875f91a91dae56c.tar.gz
guile-xapian-deb078b6c92c3352611f85cc0875f91a91dae56c.tar.lz
guile-xapian-deb078b6c92c3352611f85cc0875f91a91dae56c.zip
Document provenance of 100-objects.sexp.
Diffstat (limited to 'examples/csv2sexp.py')
-rw-r--r--examples/csv2sexp.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/csv2sexp.py b/examples/csv2sexp.py
new file mode 100644
index 0000000..9fc09e0
--- /dev/null
+++ b/examples/csv2sexp.py
@@ -0,0 +1,30 @@
+### guile-xapian --- Guile bindings for Xapian
+### Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
+###
+### This file is part of guile-xapian.
+###
+### guile-xapian is free software: you can redistribute it and/or
+### modify it under the terms of the GNU General Public License as
+### published by the Free Software Foundation, either version 2 of the
+### License, or (at your option) any later version.
+###
+### guile-xapian is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+### General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with guile-xapian.  If not, see
+### <https://www.gnu.org/licenses/>.
+
+import csv, sys
+
+def write (str):
+    return '"{}"'.format(str.replace('"', '\\"'))
+
+print('(')
+for row in csv.DictReader(sys.stdin):
+    print('({})'.format(' '.join([write(row['DESCRIPTION']),
+                                  write(row['TITLE']),
+                                  write(row['id_NUMBER'])])))
+print(')')