view bin/airport-lookup @ 9994:d8734db325b9

<hppavilion[1]> le/rn Rogue One//Any regular who gives the slightest Rogue One spoiler shall be hunted down in real life and have their intestines removed through their eye sockets. Members would not be exempt if they existed, which they don\'t.
author HackBot
date Sat, 17 Dec 2016 23:40:13 +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]))