@nomadamas/k-skill 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -73,13 +73,13 @@ python3 -m pip install korail2-ncard pycryptodome
73
73
  항상 helper 를 통해 조회한다.
74
74
 
75
75
  ```bash
76
- python3 scripts/ktx_booking.py search 서울 부산 20260328 090000 --limit 5
76
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- search 서울 부산 20260328 090000 --limit 5
77
77
  ```
78
78
 
79
79
  기본 `--train-type` 은 `ktx` 다. ITX-청춘(예: 남춘천↔용산)·ITX-새마을·무궁화호처럼 KTX 외 노선을 잡으려면 `--train-type` 으로 지정한다.
80
80
 
81
81
  ```bash
82
- python3 scripts/ktx_booking.py search 남춘천 용산 20260503 150000 --train-type itx-cheongchun
82
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- search 남춘천 용산 20260503 150000 --train-type itx-cheongchun
83
83
  ```
84
84
 
85
85
  선택지: `ktx`, `itx-saemaeul`, `mugunghwa`, `nuriro`, `tonggeun`, `itx-cheongchun`, `airport`, `all`.
@@ -106,19 +106,19 @@ python3 scripts/ktx_booking.py search 남춘천 용산 20260503 150000 --train-t
106
106
  기본 상세 좌석 조회:
107
107
 
108
108
  ```bash
109
- python3 scripts/ktx_booking.py seats 서울 부산 20260328 090000 --train-id <train_id>
109
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id>
110
110
  ```
111
111
 
112
112
  일반실/특실은 `--room` 으로 나눈다.
113
113
 
114
114
  ```bash
115
- python3 scripts/ktx_booking.py seats 서울 부산 20260328 090000 --train-id <train_id> --room special
115
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --room special
116
116
  ```
117
117
 
118
118
  남은 좌석번호만 보고 싶으면 `--available-only` 를 쓴다.
119
119
 
120
120
  ```bash
121
- python3 scripts/ktx_booking.py seats 서울 부산 20260328 090000 --train-id <train_id> --available-only
121
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --available-only
122
122
  ```
123
123
 
124
124
  특정 호차를 지정하지 않으면 `seats` 는 **5호차를 최우선**으로 탐색한다. 5호차가 없으면 5호차와의 거리가 가까운 호차 순으로, 같은 거리에서는 낮은 호차 번호 순으로 탐색한다(예: 1~8호차 편성은 `5, 4, 6, 3, 7, 2, 8, 1`, 1~4호차 편성은 `4, 3, 2, 1`). 일반 KTX, KTX-산천(분류 코드 07·10), KTX-청룡 모두 같은 규칙을 적용한다. 각 호차 안의 좌석은 콘센트 힌트가 있는 좌석(`direct`, `adjacent`)을 먼저, 같은 조건에서는 순방향 좌석을 먼저 보여준다.
@@ -126,19 +126,19 @@ python3 scripts/ktx_booking.py seats 서울 부산 20260328 090000 --train-id <t
126
126
  특정 호차만 확인하려면 `--car-no` 를 쓴다.
127
127
 
128
128
  ```bash
129
- python3 scripts/ktx_booking.py seats 서울 부산 20260328 090000 --train-id <train_id> --car-no 5 --available-only
129
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --car-no 5 --available-only
130
130
  ```
131
131
 
132
132
  콘센트 꿀팁 자리부터 확인하려면 `--power-only` 를 붙인다. 응답의 `power_outlet` 은 `direct`, `adjacent`, `none` 중 하나다.
133
133
 
134
134
  ```bash
135
- python3 scripts/ktx_booking.py seats 서울 부산 20260328 090000 --train-id <train_id> --available-only --power-only
135
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 서울 부산 20260328 090000 --train-id <train_id> --available-only --power-only
136
136
  ```
137
137
 
138
138
  `seats` 도 `search` 와 같은 `--train-type` 을 넘겨야 한다. ITX-청춘 등 KTX 외 열차를 조회했다면 상세 좌석 조회에도 같은 값을 사용한다.
139
139
 
140
140
  ```bash
141
- python3 scripts/ktx_booking.py seats 남춘천 용산 20260503 150000 \
141
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- seats 남춘천 용산 20260503 150000 \
142
142
  --train-id <train_id> \
143
143
  --train-type itx-cheongchun \
144
144
  --available-only
@@ -159,13 +159,13 @@ python3 scripts/ktx_booking.py seats 남춘천 용산 20260503 150000 \
159
159
  조회 결과의 `train_id` 를 고른 뒤에만 예약한다. 이 값은 helper 가 열차 번호/운행일/시각/역 코드를 묶어 만든 stable selector 이므로, 재조회 시 같은 열차가 아직 있으면 그대로 잡고 없으면 실패한다.
160
160
 
161
161
  ```bash
162
- python3 scripts/ktx_booking.py reserve 서울 부산 20260328 090000 --train-id <train_id> --seat-option general-first
162
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reserve 서울 부산 20260328 090000 --train-id <train_id> --seat-option general-first
163
163
  ```
164
164
 
165
165
  ITX 등 KTX 외 노선을 search 단계에서 골랐다면 reserve 에도 똑같이 `--train-type` 을 넘긴다.
166
166
 
167
167
  ```bash
168
- python3 scripts/ktx_booking.py reserve 남춘천 용산 20260503 150000 --train-id <train_id> --train-type itx-cheongchun --seat-option general-first
168
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reserve 남춘천 용산 20260503 150000 --train-id <train_id> --train-type itx-cheongchun --seat-option general-first
169
169
  ```
170
170
 
171
171
  응답에는 예약번호, 운임, 구입기한이 포함된다. 이 시점에 **좌석 확보는 완료되었다**고 안내한다. generic fallback에서는 결제를 handoff하고, 돌쇠에서는 아래 결제 단계로 계속 진행한다.
@@ -176,19 +176,19 @@ python3 scripts/ktx_booking.py reserve 남춘천 용산 20260503 150000 --train-
176
176
  N카드 할인을 적용하려면 먼저 보유 N카드 목록을 조회해 카드 번호를 확인한다.
177
177
 
178
178
  ```bash
179
- python3 scripts/ktx_booking.py ncard-list
179
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- ncard-list
180
180
  ```
181
181
 
182
182
  N카드로 할인 열차를 조회한다 (`--ncard-index` 는 `ncard-list` 결과의 순번). `ncard-list` 는 로그/셸 노출을 줄이기 위해 카드 번호를 마스킹해 출력한다.
183
183
 
184
184
  ```bash
185
- python3 scripts/ktx_booking.py ncard-search 대전 서울 20260512 100000 --ncard-index 1 --train-type ktx
185
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- ncard-search 대전 서울 20260512 100000 --ncard-index 1 --train-type ktx
186
186
  ```
187
187
 
188
188
  응답의 `train_id` 를 복사해 `reserve` 에 같은 `--ncard-index` 를 붙여 예약한다.
189
189
 
190
190
  ```bash
191
- python3 scripts/ktx_booking.py reserve 대전 서울 20260512 100000 \
191
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reserve 대전 서울 20260512 100000 \
192
192
  --train-id <train_id> \
193
193
  --ncard-index 1
194
194
  ```
@@ -213,13 +213,13 @@ N카드 기능은 `korail2-ncard` 패키지가 필요하다. 없으면 해당
213
213
  취소는 대상 예약을 다시 조회해 식별한 뒤에만 진행한다.
214
214
 
215
215
  ```bash
216
- python3 scripts/ktx_booking.py reservations
216
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- reservations
217
217
  ```
218
218
 
219
219
  취소 실행 직전에 `clarify`로 예약번호, 열차, 날짜·시각, 승객, 환불/위약금 정보를 확인하고 승인받는다.
220
220
 
221
221
  ```bash
222
- python3 scripts/ktx_booking.py cancel <reservation_id>
222
+ npx -y @nomadamas/k-skill@0 exec ktx-booking scripts/ktx_booking.py -- cancel <reservation_id>
223
223
  ```
224
224
 
225
225
  ## Done when