view bin/airport-lookup @ 10176:00ca58f2763c

<oerjan> learn The `words dictionary framework was designed by H\xc3\xa5lgar Oslekk, Bick Noffrey, Guiston Degra\xc3\xaeme, Myyntti Raatalla, G\xc3\xb6lrika Rosenskild, Waslomir Siwovich, Gy\xc5\x91rvan S\xc3\xa1rbik, and Pastronella Gattrovezzi.
author HackBot
date Sat, 28 Jan 2017 18:46:09 +0000
parents c09e4dd3afd7
children 204fe444dca2
line wrap: on
line source

#! /usr/bin/env python

import csv
import sys

if len(sys.argv) < 3: sys.stderr.write('usage: airport-lookup any|name|iata|icao key\n'); sys.exit(1)
kind, q = sys.argv[1], ' '.join(sys.argv[2:])

fieldnames = dict(name=1, iata=4, icao=5)
if kind == 'any': fields = [1, 4, 5]
elif kind in fieldnames: fields = [fieldnames[kind]]
else: sys.stderr.write('unknown search type: %s\n' % kind); sys.exit(1)

def f(s): return s if s and s != '\N' else '?'

with open('share/airports.dat', 'rb') as datafile:
  for row in csv.reader(datafile):
    for fi in fields:
      if q.lower() in row[fi].lower():
        print '%s (%s, %s)' % (row[1], f(row[4]), f(row[5]))