SRT Reference
- class SRT.SRT(srt_id: str, srt_pw: str, auto_login: bool = True, verbose: bool = False)
SRT 클라이언트 클래스
- Parameters:
srt_id (str) – SRT 계정 아이디 (멤버십 번호, 이메일, 전화번호)
srt_pw (str) – SRT 계정 패스워드
auto_login (bool) –
login()
함수 호출 여부verbose (bool) – 디버깅용 로그 출력 여부
>>> 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
- login(srt_id: str | None = None, srt_pw: str | None = None)
SRT 서버에 로그인합니다.
일반적인 경우에는 인스턴스가 생성될 때에 자동으로 로그인 되므로, 이 함수를 직접 호출할 필요가 없습니다.
- Parameters:
srt_id (str, optional) – SRT 계정 아이디
srt_pwd (str, optional) – SRT 계정 패스워드
- Returns:
로그인 성공 여부
- Return type:
bool
- logout() bool
SRT 서버에서 로그아웃합니다.
- search_train(dep: str, arr: str, date: str | None = None, time: str | None = None, time_limit: str | None = None, available_only: bool = True) list[SRT.train.SRTTrain]
주어진 출발지에서 도착지로 향하는 SRT 열차를 검색합니다.
- Parameters:
dep (str) – 출발역
arr (str) – 도착역
date (str, optional) – 출발 날짜 (yyyyMMdd) (default: 당일)
time (str, optional) – 출발 시각 (hhmmss) (default: 0시 0분 0초)
time_limit (str, optional) – 출발 시각 조회 한도 (hhmmss)
available_only (bool, optional) – 매진되지 않은 열차만 검색합니다 (default: True)
- Returns:
열차 리스트
- Return type:
list[
SRTTrain
]
- reserve(train: SRTTrain, passengers: list[SRT.passenger.Passenger] | None = None, special_seat: SeatType = SeatType.GENERAL_FIRST, window_seat: bool | None = None) SRTReservation
열차를 예약합니다.
>>> trains = srt.search_train("수서", "부산", "210101", "000000") >>> srt.reserve(trains[0])
- Parameters:
train (
SRTrain
) – 예약할 열차passengers (list[
Passenger
], optional) – 예약 인원 (default: 어른 1명)special_seat (
SeatType
) – 일반실/특실 선택 유형 (default: 일반실 우선)window_seat (bool, optional) – 창가 자리 우선 예약 여부
- Returns:
예약 내역
- Return type:
SRTReservation
- reserve_standby(train: SRTTrain, passengers: list[SRT.passenger.Passenger] | None = None, special_seat: SeatType = SeatType.GENERAL_FIRST, mblPhone: str | None = None) SRTReservation
예약대기 신청 합니다.
>>> trains = srt.search_train("수서", "부산", "210101", "000000") >>> srt.reserve_standby(trains[0])
- Parameters:
train (
SRTrain
) – 예약할 열차passengers (list[
Passenger
], optional) – 예약 인원 (default: 어른 1명)special_seat (
SeatType
) – 일반실/특실 선택 유형 (default: 일반실 우선)mblPhone (str, optional) – 휴대폰 번호
- Returns:
예약 내역
- Return type:
SRTReservation
- reserve_standby_option_settings(reservation: SRTReservation | int, isAgreeSMS: bool, isAgreeClassChange: bool, telNo: str | None = None) bool
예약대기 옵션을 적용 합니다.
>>> trains = srt.search_train("수서", "부산", "210101", "000000") >>> srt.reserve_standby(trains[0]) >>> srt.reserve_standby_option_settings("1234567890", True, True, "010-1234-xxxx")
- Parameters:
reservation (
SRTReservation
or int) – 예약 번호isAgreeSMS (bool) – SMS 수신 동의 여부
isAgreeClassChange (bool) – 좌석등급 변경 동의 여부
telNo (str, optional) – 휴대폰 번호
- Returns:
예약대기 옵션 적용 성공 여부
- Return type:
bool
- get_reservations(paid_only: bool = False) list[SRT.reservation.SRTReservation]
전체 예약 정보를 얻습니다.
- Parameters:
paid_only (bool) – 결제된 예약 내역만 가져올지 여부
- Returns:
예약 리스트
- Return type:
list[
SRTReservation
]
- ticket_info(reservation: SRTReservation | int) list[SRT.reservation.SRTTicket]
예약에 포함된 티켓 정보를 반환합니다.
>>> 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원 할인)]]
- Parameters:
reservation (
SRTReservation
or int) – 예약 번호- Returns:
list[
SRTTicket
]
- cancel(reservation: SRTReservation | int) bool
예약을 취소합니다.
>>> reservation = srt.reserve(train) >>> srt.cancel(reservation) >>> reservations = srt.get_reservations() >>> srt.cancel(reservations[0])
- Parameters:
reservation (
SRTReservation
or int) – 예약 번호- Returns:
예약 취소 성공 여부
- Return type:
bool