#!/usr/bin/env python

"""US Cities Lat/Long RegExp, by Sean B. Palmer
RegExp's a Notation3 List of latitudes and longitudes from the document 
at http://www.realestate3d.com/gps/latlong.htm

modified by Dan Brickley <danbri@w3.org> for http://www.w3.org/2003/01/geo/ """

import sys, string, re

ID, LAT, LONG, NAME, STATE = 0, 1, 2, 3, 4
RegExp = r'\[(.+?)]\s*([^\s]+)\s*([^\s]+)\s*([^,]+),([^\n]+)'

def run(): 

   print "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""
   print "	xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#\""
   print "      xmlns:air=\"http://www.megginson.com/exp/ns/airports#\""
   print "       xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\">\n"

   file = open(sys.argv[1])
   data = file.read()
   Towns = re.compile(RegExp, re.S).findall(data)
   for Town in Towns: 

      print '<geo:Point>\n  <rdfs:label>%s %s</rdfs:label>\
	\n  <geo:lat>%s</geo:lat>\n  <geo:long>%s</geo:long>\n</geo:Point> \n\n' \
         % (Town[NAME], Town[STATE], Town[LAT], Town[LONG])

	#      print 'x:%s a:icao "K%s"; a:iata "%s"; :latitude "%s"; :longitude "%s"; ' \
	#         % (Town[ID], Town[ID], Town[ID], Town[LAT], Town[LONG])
	#
	#      print '   :name "%s"; :state "%s" .' % (Town[NAME], Town[STATE])
   print '</rdf:RDF>\n\n'


if __name__=="__main__": 
   sys.argv.append(None)
   if not sys.argv[1]: print __doc__
   else: run()

