ó
š4[c           @   s{   d  d l  Z  d  d l m Z d  d l Z d  d l Z d Z i d d 6d d 6d d	 6d
 d 6Z d „  Z d „  Z	 d „  Z
 d S(   iÿÿÿÿN(   t   etreesL   https://apac.universal-api.travelport.com/B2BGateway/connect/uAPI/AirServicet   closet
   Connectiont   gzips   Accept-Encodings   text/xml;charset=UTF-8s   Content-TypesF   Basic VW5pdmVyc2FsIEFQSS91QVBJODM5NDQ0NTQwNS1hNzNlNTczZjo5bStGciVXNH0zt   Authorizationc         C   sí   yÈ t  j j d d d d d d d d ƒ } | j ƒ  } t | _ d	 d
 d d d } t |  | | d | | | | | | |	 |
 | | | | g ƒ } | j | | ƒ | j ƒ  | j	 GH| j
 ƒ  | j
 ƒ  Wn t k
 rè } | GHd GHt SXt S(   Nt   usert   rt_bott   passwords   mp.work.t   hosts   tripnomicsdb.cloudapp.nett   databaset   Alternatefares¯  INSERT INTO Fare_Details(
            `TktNumber`,
            `PNR`,
            `Timestamp`,
            `GDS_Source`,
            `Origin`,
            `Destination`,
            `DateOfJourney`,
            `Airline`,
            `FlightNo`,
            `DepartureTime`,
            `ArrivalTime`,
            `Fare`,
            `FareBasis`,
            `FareClass`,
            `FareID`,
            `Dep_Date`
            ) s   VALUES(s   %s,i   s   %s)t   1Ss4   ERROR !!!!!! Can't commit alternate fare to database(   t   mysqlt	   connectort   connectt   cursort   Truet
   autocommitt   tuplet   executet   committ	   statementR   t	   Exceptiont   False(   t	   tktnumbert   pnrt	   timestampt   origint   destinationt   dep_datet   marketing_airline_codet   flight_numbert   dep_timet   arr_timet   faret
   fare_basist   rbdt   orgt   destt   fidt   ddtt   orderbyt   cnxR   t   add_gen_rowt   gen_info_insertt   e(    (    s<   C:\Users\Mahat\Documents\tripnomics-1.2\py\indigoFileFare.pyt   commit_alt_fare   sD    		

c         C   sg   d } xZ t  t |  ƒ ƒ D]F } |  | } | | } | | } | d | d | d | d 7} q W| S(   Nt    sY   <air:SearchAirLeg>
                <air:SearchOrigin>
                <com:Airport Code='st   ' />
                </air:SearchOrigin>
                <air:SearchDestination>
                <com:Airport Code='s`   ' />
                </air:SearchDestination>
                <air:SearchDepTime PreferredTime='s$   ' />
            </air:SearchAirLeg>(   t   ranget   len(   t
   departurest   arrivalst   dateofdeparturest   bodyt   it	   departuret   arrivalt   dateofdeparture(    (    s<   C:\Users\Mahat\Documents\tripnomics-1.2\py\indigoFileFare.pyt   indigoRequestM   s    


c   "      C   s®  d t  | | | ƒ d } t j ƒ  } t | _ yX| j t d | d t ƒ} | j } | GHt	 j
 | ƒ }	 |	 j d ƒ }
 d } x|
 d  D]ø} d t | ƒ } | d	 7} | j d
 ƒ } d } | j d ƒ } d } x«| D]£} | j d ƒ } |	 j d | d ƒ d } | j d ƒ } | j d ƒ } | j d ƒ } | j d ƒ } t j j | j d ƒ d j d d ƒ d ƒ } | j d ƒ } | j d ƒ } | j d ƒ } t j j | j d ƒ d j d d ƒ d ƒ } | j d ƒ } t j j ƒ  j d ƒ } | d | } t j j | d ƒ } | j d ƒ } t j j ƒ  j d ƒ }  t | |  | | | | | | | | | d d d d | |  d ƒ qÛ WqŠ WWn  t k
 r©}! |  G| G|! GHn Xd  S(    NsÍ  <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header />
    <soapenv:Body>
        <air:LowFareSearchReq xmlns:air="http://www.travelport.com/schema/air_v42_0" xmlns:com="http://www.travelport.com/schema/common_v42_0" AuthorizedBy="user" SolutionResult="true" TargetBranch='P3058954' TraceId="TESTPR">
        <com:BillingPointOfSaleInfo OriginApplication="UAPI" />
        sÈ  
        <air:AirSearchModifiers>
            <air:PreferredProviders>
            <com:Provider Code="1G" />
            <com:Provider Code="ACH" />
            </air:PreferredProviders>
            <air:PermittedCarriers>
            <com:Carrier Code="6E" />
            </air:PermittedCarriers>
        </air:AirSearchModifiers>
        <com:SearchPassenger Code="ADT" />
        </air:LowFareSearchReq>
    </soapenv:Body>
    </soapenv:Envelope>
    t   datat   headerss&   //*[local-name()='AirPricingSolution']i   i   s   Fare i   t
   TotalPricet   6Es!   //*[local-name()='AirSegmentRef']R/   t   Keys%   //*[local-name()='AirSegment'][@Key='s   ']i    t   FlightNumbert   Origint   Destinationt   DepartureTimet   +s   .000s   %Y-%m-%dT%H:%M:%Ss   %Y-%m-%ds   %H%Mt   ArrivalTimes   %Y-%m-%d %H:%M:%St    s   %Y-%m-%d %H%Mt   X(   R:   t   requestst   sessionR   t
   keep_alivet   postt   urlR<   t   contentR    t   XMLt   xpatht   strt   gett   datetimet   strptimet   splitt   replacet   strftimet   nowR.   R   ("   R   R   R2   R3   R4   t   requestBodyt   st   rt   responseXMLt   roott   AirReservationst   indext   AirReservationR'   R"   R   t   flightst   FlightNumberst   flightt	   flightKeyR   R   R   t   departureTimet   depdateR   R    t   arrivalTimet   arrdateR!   R   t   depdatetimeR(   R-   (    (    s<   C:\Users\Mahat\Documents\tripnomics-1.2\py\indigoFileFare.pyt   IndigoFileFare^   sV    		
..	1(   RH   t   lxmlR    RR   t   mysql.connectorR   RL   R<   R.   R:   Ri   (    (    (    s<   C:\Users\Mahat\Documents\tripnomics-1.2\py\indigoFileFare.pyt   <module>   s   

	@	