author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Wed, 14 Jul 2021 12:24:40 +0300 | |
changeset 1739 | 0274fa6f1aca |
parent 1737 | bd09520467ad |
child 1740 | 2335b10cbc88 |
permissions | -rw-r--r-- |
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) |