;ò
'œ°@c           @   sê  d  k  Z  d  k Z d  k Z d  k Z d  k Z d f  d „  ƒ  YZ d f  d „  ƒ  YZ d „  Z e d j o}e i	 Z
 e e
 ƒ d j o d e
 d	 GHe i d
 ƒ n e e
 d
 ƒ Z e i d ƒ Z x= e i i ƒ  D], Z e GHx e i e D] Z d e GHqì WqÓ Wd d g Z d	 Z xÎ e D]Â Z e d Z e d j oh e d Z e e j o d	 Z qn d
 Z e Ge d Ge d Ge d Ge e d ƒ Ge e d ƒ GHqe o qqe d j o! d Ge d Ge d Ge d GHqqWn d  S(   Ns   parsed_filec           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s1   | |  _  | |  _ | | i ƒ  d d |  _ d  S(   Ni    s   RTI(   s   files   selfs   fieldss   keyss   rti(   s   selfs   files   fields(    (    s   ../FAA_ATA100.pys   __init__
   s    		c         C   s   |  Sd  S(   N(   s   self(   s   self(    (    s   ../FAA_ATA100.pys   __iter__   s    c   
      C   s§   |  i i ƒ  } | o
 t ‚ n | |  i d |  i d !} |  i | } h  d | <} xD | i ƒ  D]6 }	 | |	 \ } } } } t i | | | !ƒ | |	 <qe W| Sd  S(   Ni    i   s   RTI(   s   selfs   files   readlines   lines   StopIterations   rtis   fieldss   records   keyss   descs   starts   ends   types   justs   strings   strip(
   s   selfs   ends   justs   starts   fieldss   rtis   records   lines   types   desc(    (    s   ../FAA_ATA100.pys   next   s    
 (   s   __name__s
   __module__s   __init__s   __iter__s   next(    (    (    s   ../FAA_ATA100.pys   parsed_file	   s   		s	   ATA100zipc           B   sb   t  Z e i d ƒ Z d d d f Z e i d ƒ Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z RS(   NsC   ^([LR]) +([A-Z]+) *([0-9]+) +([0-9]+) {1,3}([^ ]+)? +([^
]+[^ 
])s   RECORD TYPE INDICATOR.s   RECORD TYPE INDICATORs   RECORD IDENTIFIERs)   ^ +([A-Z0-9]+)(:| - ) *([A-Z- ]+[^ ]) *
c         C   sO   t  i | d d ƒ|  _ |  i i ƒ  |  _ t t i	 |  i ƒ |  _
 t |  _ d  S(   Ns   modes   r(   s   zipfiles   ZipFiles   collection_filenames   selfs
   collections   namelists	   filenamess   maps   strings   lowers   filenames_lcs   Nones   fields_d(   s   selfs   collection_filename(    (    s   ../FAA_ATA100.pys   __init__%   s    c         C   s$   |  i |  i i t i | ƒ ƒ Sd  S(   N(   s   selfs	   filenamess   filenames_lcs   indexs   strings   lowers   filename(   s   selfs   filename(    (    s   ../FAA_ATA100.pys   real_filename+   s    c         C   s&   t  i  |  i i |  i | ƒ ƒ ƒ Sd  S(   N(   s   StringIOs   selfs
   collections   reads   real_filenames   filename(   s   selfs   filename(    (    s   ../FAA_ATA100.pys   _open.   s    c         C   s¬  d | } |  i |  i | ƒ ƒ }
 h  } t } xsn ok|
 i	 ƒ  } | o Pn |  i i | ƒ } | o q8 n | i ƒ  \ } } } } } } | |  i j ob x_ n oS |
 i	 ƒ  }	 |  i i |	 ƒ } | o* | i ƒ  \ } } } h  | | <d } Pq£ qª Wn t | ƒ d } | t | ƒ } d } xP | | i | | ƒ o7 | d j o
 d } q+d d t | d ƒ d } q+W| | 7} | | | | f | | | <q8 W| Sd  S(	   Ns!   subscriber_file_formats/%s_rf.txti   s   RTIs    s   -As   -s   %ciÿÿÿÿ(    s   typenames   format_filenames   selfs   _opens   real_filenames   format_files   fields_ds   Nones   rtis   readlines   lines	   format_res   matchs   groupss   justs   types   length_ss   start_ss   elements   descs	   rti_descss   rti_lines   rti_res	   rti_matchs   seps   rti_descs   ints   starts   ends   suffixs   has_keys   ord(   s   selfs   typenames   suffixs   justs   seps   format_filenames   rtis   rti_descs   fields_ds   rti_lines   format_files   ends   starts   length_ss   types   matchs   lines   descs	   rti_matchs   elements   start_s(    (    s   ../FAA_ATA100.pys   fields1   sD    
  
 
!
c         C   s'   t  |  i d | ƒ |  i | ƒ ƒ Sd  S(   Ns   %s.txt(   s   parsed_files   selfs   _opens   typenames   fields(   s   selfs   typename(    (    s   ../FAA_ATA100.pys   parse_   s    (   s   __name__s
   __module__s   res   compiles	   format_res	   rti_descss   rti_res   __init__s   real_filenames   _opens   fieldss   parse(    (    (    s   ../FAA_ATA100.pys	   ATA100zip    s   				.c         C   sD   |  d d d g j o t |  d  ƒ d Sn t |  d  ƒ d Sd  S(   Niÿÿÿÿs   Ss   Wf3600.0(   s   secondss   float(   s   seconds(    (    s   ../FAA_ATA100.pys   seconds_to_degreese   s    s   __main__i   s    usage: %s [ATA-100 zip filename]i    i   s   APTs   	s   LAFs   BMGs   RTIs   LOCATION IDENTIFIERs   ASSOCIATED CITY NAMEs!   ASSOCIATED STATE POST OFFICE CODEs+   AIRPORT REFERENCE POINT LONGITUDE (SECONDS)s*   AIRPORT REFERENCE POINT LATITUDE (SECONDS)s   RWYs   RUNWAY IDENTIFICATIONs%   PHYSICAL RUNWAY LENGTH (NEAREST FOOT)s$   PHYSICAL RUNWAY WIDTH (NEAREST FOOT)(   s   zipfiles   res   strings   StringIOs   syss   parsed_files	   ATA100zips   seconds_to_degreess   __name__s   argvs   argss   lens   exits   datas   parses   parsed_datas   fieldss   keyss   record_types
   field_names   interesting_airportss   interesting_entrys   records   rtis   ident(   s   idents   rtis   strings   interesting_entrys   StringIOs   records
   field_names   argss   zipfiles   parsed_files   syss   res   record_types   parsed_datas   interesting_airportss	   ATA100zips   datas   seconds_to_degrees(    (    s   ../FAA_ATA100.pys   ?   sX   					E		   


