-
BOc       sh     d  k  Z   d  k Z   d  k Z  d  k Z  d  k Z  d  k Z  d  k Z 	 d  k Z 
 d  k	 Z  d  k
 Z  e i Z  e i Z  d a  d Z  d Z  d Z  d Z  d Z  d   Z ! d   Z ) d   Z 1 d   Z O d	   Z S d
 e i f d     YZ ^ d e i f d     YZ  d   Z d   Z  d d  Z! d  S(   Ni    i   i   i   c    s\     y  t  |  SWn>  t j
 o/ }  t i i d |  | f   |  n Xd  S(   Ns-   integer conversion error: tag '%s' value '%s'(   s   ints   values	   Exceptions   es	   twccommons   Logs   errors   name(   s   names   values   e(    (    s
   traffic.pys   convertToInt s
   c    s\   ! " y # t  |  SWn> $ t j
 o/ } % t i i d |  | f  & |  n Xd  S(   Ns+   float conversion error: tag '%s' value '%s'(   s   floats   values	   Exceptions   es	   twccommons   Logs   errors   name(   s   names   values   e(    (    s
   traffic.pys   convertToFloat! s
   c    s\   ) * y + t  |  SWn> , t j
 o/ } - t i i d |  | f  . |  n Xd  S(   Ns,   string conversion error: tag '%s' value '%s'(   s   strs   values	   Exceptions   es	   twccommons   Logs   errors   name(   s   names   values   e(    (    s
   traffic.pys   convertToString) s
   c 	   s  1 2 t  i   } 3 xt| D3 ]i\ } } } 4 y 5 |  i |  } Wng 6 t
 j
 oX } 7 t } 8 | o< 9 d | } : t  i i |  ; t
 |  } < |  n n X> | t j o ? | t j o @ t | |  } n A | t j o B t | |  } ne C | t j o D t | |  } n? F d | | f } G t  i i |  H t
 |  } I |  n J t | | |  q WL | Sd  S(   Ns*   required attribute missing error: tag '%s's)   unknown data type error: tag '%s' type %d(   s	   twccommons   Datas   ds   elementTables   tags   ctypes   requireds   attrss   getValueByQNames   values	   Exceptions   es   Nones   msgs   Logs   errors   INT_TYPEs   convertToInts
   FLOAT_TYPEs   convertToFloats   STRING_TYPEs   convertToStrings   setattr(	   s   attrss   elementTables   es   ds   requireds   values   ctypes   tags   msg(    (    s
   traffic.pys   convertAttributesToData1 s2   
 	
c    s"   O P t  i |  d | d  Sd  S(   Ni    (   s	   twccommons   compares   lst1s   lst2(   s   lst1s   lst2(    (    s
   traffic.pys   incidentOrderO s   s   TrafficSAXHandlerc      s)   S T d   Z  W d   Z Z d   Z RS(   Nc    s   T U | |   |  _ d  S(   N(   s   subHandlerClasss   selfs
   msghandler(   s   selfs   subHandlerClass(    (    s
   traffic.pys   __init__T s   c    s
   W X d  S(   N(    (   s   selfs   attrs(    (    s
   traffic.pys   startRootNodeW s   c    s   Z [ |  i i   d  S(   N(   s   selfs
   msghandlers   finished(   s   self(    (    s
   traffic.pys   endRootNodeZ s   (   s   __init__s   startRootNodes   endRootNode(    (    (    s
   traffic.pys   TrafficSAXHandlerS s   s   IncidentMsgHandlerc      sq   ^ _ d   Z  x d   Z { d   Z ~ d   Z  d   Z  d   Z  d   Z  d   Z  d	   Z RS(
   Nc    s1  _ ` t  |  _ a t  |  _ b t  |  _ c g  |  _ d d t t f d t t f d t t f d t	 t f d t	 t f d t
 t f d t
 t f d t
 t f d	 t
 t f d
 t
 t f d t
 t f d t
 t f d t
 t f d t
 t f d t
 t f d t
 t f d t
 t f d t
 t f g |  _ v t i i |  |  d  S(   Ns   incIds   keyRteIds   crits   lats   longs   iTypes   locs   rteNames   dirs   descs   descLocations   descDetailss   descCommentss   descEstDurations
   descDetours   descAltRoutes   starts   end(   s   Nones   selfs   metroIds
   expireTimes	   issueTimes   recordss   INT_TYPEs   REQUIREDs   OPTIONALs
   FLOAT_TYPEs   STRING_TYPEs   elementss	   twccommons
   SubHandlers   __init__s	   container(   s   selfs	   container(    (    s
   traffic.pys   __init___ s   c    s   x y t  |  |  _ d  S(   N(   s   strs   texts   selfs   metroId(   s   selfs   text(    (    s
   traffic.pys   charactersmetroIdx s   c    s   { | t  |  |  _ d  S(   N(   s   ints   texts   selfs	   issueTime(   s   selfs   text(    (    s
   traffic.pys   charactersissueTime{ s   c    s   ~  t  |  |  _ d  S(   N(   s   ints   texts   selfs
   expireTime(   s   selfs   text(    (    s
   traffic.pys   charactersexpTime~ s   c    sv    y  t  | |  i  }  | i }  | o  t |  } n
  t }  t	 | d |   | i
 }  | o  t |  } n
  t }  t	 | d |   |  i i | i d | f  Wn  t j
 o }  t i i d |   d }  | i   }  x: | D ]/ }  | i |  }  | d | | f 7} qW | d 7}  t i i |  n Xd  S(   Ns   starts   endi    s   Exception '%s's.   conversion error discarding incident record: (s   %s="%s" s   )(   s   convertAttributesToDatas   attrss   selfs   elementss   datas   starts   values   ints   Nones   setattrs   ends   recordss   appends   incIds	   Exceptions   es	   twccommons   Logs   errors   msgs	   getQNamess   namess   names   getValueByQName(   s   selfs   attrss   es   names   values   msgs   datas   names(    (    s
   traffic.pys   startincident s.   
	
	#	
 	c    s
     d  S(   N(    (   s   self(    (    s
   traffic.pys   endincident s   c    s    |  i t j o8  d }  t i i |   t |  }  |  n  |  i	 t j o8  d }  t i i |   t |  }  |  n  |  i
 t j o8  d }  t i i |   t |  }  |  n  |  i    |  i    t i   d  S(   Ns$   missing required element 'issueTime's%   missing required element 'expireTime's"   missing required element 'metroId'(   s   selfs	   issueTimes   Nones   msgs	   twccommons   Logs   errors	   Exceptions   es
   expireTimes   metroIds   collapseIncidentss   addIncidentsToDataStores   dss   commit(   s   selfs   es   msg(    (    s
   traffic.pys   finished s$   			c    s    d }  g  }  t }
  t }  |  i i t   xS|  i D ]E\ } } }  | |
 j o  |
 t j o  | i |  n  | }
  g  }  | i | i   | | _  t | d   g  }	  |	 i | i   |	 | _  t | d   | d 7}  | | | f } ng  | d i }  | i | i   | | d _  | d i }  | i | i   | | d _ qG W | t j o  | i |  n  | |  _ d  S(   Ni    s   keyRteIds   rteNamei   i   (   s   counts
   newRecordss   Nones   lastIds   records   selfs   recordss   sorts   incidentOrders   incIds   cnts   datas   appends	   keyRteIdss   keyRteIds   delattrs   rteNamess   rteNames   routess   names(   s   selfs   counts
   newRecordss	   keyRteIdss   routess   cnts   records   namess   incIds   rteNamess   lastIds   data(    (    s
   traffic.pys   collapseIncidents s<   				 			c 	   s8     d }  d }  x~ |  i D ]p \ } } }  |  i | _  | d 7}  d |  i d t t	  d t |  }  t i | | |  i  q% W | | j o8  d }  t i i |   t |  }  |  n  t i   }  | | _   t	 | _  d |  i }  t i | | |  i  d  S(   Ni    i   s	   incident.s   .s)   logic error - records counts do not matchs
   incidents.(   s   counts   cnts   selfs   recordss   incIds   datas	   issueTimes   metroIds   strs   REVs   keys   dsms   sets
   expireTimes   msgs	   twccommons   Logs   errors	   Exceptions   es   Datas   mstrs   rev(	   s   selfs   counts   cnts   es   keys   incIds   mstrs   msgs   data(    (    s
   traffic.pys   addIncidentsToDataStore s&   		 ,	(	   s   __init__s   charactersmetroIds   charactersissueTimes   charactersexpTimes   startincidents   endincidents   finisheds   collapseIncidentss   addIncidentsToDataStore(    (    (    s
   traffic.pys   IncidentMsgHandler^ s   !c    s/      t  i   a  t i i |  i  d  S(   N(   s	   twccommons   Datas   _configs   __dict__s   updates   config(   s   config(    (    s
   traffic.pys   init s   c    sJ  ya t  |   } t i i   } t |  } | i
 |  | i |  	| i   Wn t i i j
 o } t i   | i   } | i   } t i i d | i   | i   | i   f  t i i d |  f  nI t j
 o9 } t i   t i i d |  t |  f  n Xd  S(   Ns    %s: XML Line %d, CharPosition %ds   XML path=%ss   error processing %s: %s(   s   opens   paths   fs   xmls   saxs   make_parsers   parsers   TrafficSAXHandlers   subHandlerClasss   handlers   setContentHandlers   parses   closes   SAXParseExceptions   es   dss   aborts   getLineNumbers   eLines   getColumnNumbers   eCols	   twccommons   Logs   errors
   getMessages	   Exceptions   str(   s   paths   subHandlerClasss   es   fs   eCols   eLines   parsers   handler(    (    s
   traffic.pys   parseXMLs    2s   nonec    s   t  d 7a  t  d j o d a  n t i i d |  | f  |  } | d j o{  |  } !|  i d  o "|  d |  i	 d  !} n $|  d } %t i i d | f  &t
 i d | f  n 't | t  d  S(	   Ni   i  s3   Traffic: processIncidents("%s"), compression = "%s"s   gzips   .gzi    s   Traffic: decompress file ("%s")s   gzip -df %s(   s   REVs	   twccommons   Logs   infos   paths   compressions   uncompressedPaths   compressedPaths   endswiths   rfinds   oss   systems   parseXMLs   IncidentMsgHandler(   s   paths   compressions   compressedPaths   uncompressedPath(    (    s
   traffic.pys   processIncidentss   		("   s   domestics   domestic.dataUtils   times   oss   commandss   twc.DataStoreInterfaces   twcs	   twccommons   twccommon.Logs   twc.dsmarshals   xml.saxs   xmls   DataStoreInterfaces   dss	   dsmarshals   dsms   REVs   INT_TYPEs
   FLOAT_TYPEs   STRING_TYPEs   OPTIONALs   REQUIREDs   convertToInts   convertToFloats   convertToStrings   convertAttributesToDatas   incidentOrders
   SAXHandlers   TrafficSAXHandlers
   SubHandlers   IncidentMsgHandlers   inits   parseXMLs   processIncidents(   s   TrafficSAXHandlers
   FLOAT_TYPEs   domestics   STRING_TYPEs   IncidentMsgHandlers   INT_TYPEs   convertAttributesToDatas   OPTIONALs   dss   convertToStrings   xmls   twcs   commandss   convertToFloats   processIncidentss   REQUIREDs   parseXMLs   inits   dsms	   twccommons   times   oss   convertToInts   incidentOrder(    (    s
   traffic.pys   ? s6   						