systemreboot git repos guile-xapian / master examples / csv2sexp.py
master

Tree @master (Download .tar.gz)

csv2sexp.py @master — raw · history · blame

### 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(')')