mylisp/gds-sabre.el
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 23 Jun 2021 13:24:46 +0300
changeset 1737 bd09520467ad
parent 1736 b4c49ef014e2
child 1740 2335b10cbc88
permissions -rw-r--r--
Updated Sabre XML entries to highlight.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1735
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
;;;###autoload
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
(defun gds-sabre-decode-region (&optional beg end prefix)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
  "Decode garbage coming from UTF8 terminals when Sabre operates in iso-8859-1."
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
  (interactive "r\nP")
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
  (unless beg (setq beg (region-beginning)))
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
  (unless end (setq end (region-end)))
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
  (let (text)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
    (setq text
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
          (decode-coding-string
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
           (encode-coding-string
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
            (decode-coding-string
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
             (encode-coding-string (buffer-substring beg end) 'iso-8859-1)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
             'utf-8)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
            'iso-8859-1)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
           'cp1252))
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
    (when prefix
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
      (delete-region beg end)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
      (insert text))
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
    text))
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
;;;###autoload
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
(defun gds-sabre-highlight ()
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
  (interactive)
1736
b4c49ef014e2 Updated Sabre XML entries to highlight.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1735
diff changeset
    24
  (highlight-regexp " \\(?:[[:alpha:]_]*PseudoCityCode\\|CreationAgent\\|BookingSource\\|AgentSine\\)=\"\\([^\"]+\\)\"" 'hi-pink 1)
b4c49ef014e2 Updated Sabre XML entries to highlight.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1735
diff changeset
    25
  (highlight-regexp "<\\([[:alnum:]]*:?\\)\\(RecordLocator\\|DepartureAirport\\|ArrivalAirport\\|MarketingAirlineCode\\|MarketingFlightNumber\\)>\\([^<]+\\)</\\1\\2>" 'hi-pink 3)
1735
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
  (highlight-phrase ":Arunk\\|:FlightSegment\\>\\|:FareBasis\\>" 'hi-pink)
1737
bd09520467ad Updated Sabre XML entries to highlight.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1736
diff changeset
    27
  (highlight-regexp "<\\([[:alnum:]]*:?\\)\\(ActionCode\\|InputEntry\\|PricingParameters\\)>\\([^<]+\\)</\\1\\2>" 'hi-yellow 3)
1736
b4c49ef014e2 Updated Sabre XML entries to highlight.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1735
diff changeset
    28
  (highlight-phrase "\\(?:isPast\\|isExpired\\|itineraryChange\\)=\"[^\"]+\"" 'hi-green)
b4c49ef014e2 Updated Sabre XML entries to highlight.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1735
diff changeset
    29
  (highlight-regexp "\\(?:ResBookDesigCode\\|Status\\|FlightNumber\\|ArrivalDateTime\\|DepartureDateTime\\|FareBasisCode\\|passengerType\\)=\"\\([^\"]+\\)\"" 'hi-green 1)
1735
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  (highlight-phrase "InputMessage=" 'hi-blue))
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
;;;###autoload
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
(defun gds-tp-highlight ()
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
  (interactive)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
  (highlight-phrase "\\w+Ref=\\|Key=" 'hi-blue)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
  (highlight-phrase "ProviderCode" 'hi-pink)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
  (highlight-phrase "\\w*LocatorCode" 'hi-pink)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
  (highlight-phrase "OwningPCC" 'hi-pink)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
  (highlight-phrase "FareBasis" 'hi-green)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
  (highlight-phrase "CabinClass" 'hi-green)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
  (highlight-phrase "BookingCode" 'hi-green)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
  (highlight-phrase "FareBasis" 'hi-green)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
  (highlight-phrase "ClassOfService" 'hi-green)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
  (highlight-phrase "Status=" 'hi-green)
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
  (highlight-phrase "\\w*TotalPrice" 'hi-green))
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
e8425ea2f39b Helper functions for Sabre GDS.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
(provide 'gds-sabre)