SRT(Super Rapid Train) wrapper for python
Project description
SRT
SRT(Super Rapid Train) application python wrapper
This project was inspired from korail2 of carpedm20.
Requirements
- Python >= 3.5
Installation
pip install SRTrain
Usage
1. Login
>>> from SRT import SRT
>>> srt = SRT("1234567890", YOUR_PASSWORD) # with membership number
>>> srt = SRT("def6488@gmail.com", YOUR_PASSWORD) # with email
>>> srt = SRT("010-1234-xxxx", YOUR_PASSWORD) # with phone number
use verbose
option to see some debugging messages
srt = SRT("010-1234-xxxx", YOUR_PASSWORD, verbose=True)
2. Searching trains
use search_train
method.
- dep : A departure station in Korean ex) '수서'
- arr : A arrival station in Korean ex) '부산'
- date : (optional) (default: today) A departure date in yyyyMMdd format
- time : (optional) (default: 000000) A departure time in hhmmss format
- available_only: (optional) (default: True) return trains with available seats only
>>> dep = '수서'
>>> arr = '부산'
>>> date = '20190913'
>>> time = '144000'
>>> trains = srt.search_train(dep, arr, date, time)
>>> trains
# [[SRT] 09월 30일, 수서~부산(15:00~17:34) 특실 예약가능, 일반실 예약가능,
# [SRT] 09월 30일, 수서~부산(15:30~18:06) 특실 예약가능, 일반실 예약가능,
# [SRT] 09월 30일, 수서~부산(16:00~18:24) 특실 매진, 일반실 예약가능,
# [SRT] 09월 30일, 수서~부산(16:25~18:45) 특실 예약가능, 일반실 예약가능, ...]
3. Making a reservation
use reserve
method.
- train:
SRTTrain
object returned bysearch_train()
- passengers (optional, default is one Adult)
>>> trains = srt.search_train(dep, arr, date, time)
>>> reservation = srt.reserve(trains[0])
>>> reservation
# [SRT] 09월 30일, 수서~부산(15:30~18:06) 130700원(3석), 구입기한 09월 20일 23:38
>>> from passengers import Adult, Child
>>> srt.reserve(trains[1], passengers=[Adult(), Adult(), Child()])
Passenger class
WARNING: 충분히 테스트되지 않음
Highly inspired by @dotaitch's Passenger class
- Adult
- Child
- Senior
- Disability1To3
- Disability4To6
4. Getting reserved tickets
Use get_reservations()
method.
>>> reservations = srt.get_reservations()
>>> reservations
# [[SRT] 09월 30일, 수서~부산(15:30~18:06) 130700원(3석), 구입기한 09월 19일 19:11]
>>> reservations[0].tickets
# [18호차 9C (일반실) 어른/청소년 [52300원(600원 할인)],
# 18호차 10C (일반실) 어른/청소년 [52300원(600원 할인)],
# 18호차 10D (일반실) 장애 4~6급 [26100원(26800원 할인)]]
5. Canceling reservation
Use cancel
method.
- reservation:
SRTreservation
object returned byreserve()
or returned byget_reservations()
>>> reservation = srt.reserve(train)
>>> srt.cancel(reservation)
>>> reservations = srt.get_reservations()
>>> srt.cancel(reservations[0])
Changelog
- 0.1.3 (2019/02/15):
search_train()
에서 매진되지 않은 좌석만 리턴하는 옵션을 디폴트로 추가 - 0.1.5 (2019/02/15): 매진 확인 오류 수정
- 1.0.0 (2019/09/13): SRT 앱 NEO 업데이트에 맞추어 API 전체 완전 수정 (#1)
- 1.0.2 (2019/12/24): 기본 테스트 추가, CI 도구 CircleCI에서 Github Actions로 교체
TODO
- Add tests for CI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
SRTrain-1.0.3-py3-none-any.whl
(12.5 kB
view details)
File details
Details for the file SRTrain-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: SRTrain-1.0.3-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e7da3a54f22da2a47e28a060440954a72db756ab67f2e01b3923244c29891b4 |
|
MD5 | 651bf4a8dc07546c645831cdcad3e087 |
|
BLAKE2b-256 | 13aba11fd41c09cbbc474abac202f638dcca85925c6211db285beb18b2055a55 |