SRT Reference

class SRT.SRT(srt_id, srt_pw, auto_login=True, verbose=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=None, srt_pw=None)

SRT 서버에 로그인합니다.

일반적인 경우에는 인스턴스가 생성될 때에 자동으로 로그인 되므로, 이 함수를 직접 호출할 필요가 없습니다.

Parameters
  • srt_id (str, optional) – SRT 계정 아이디

  • srt_pwd (str, optional) – SRT 계정 패스워드

Returns

로그인 성공 여부

Return type

bool

logout()

SRT 서버에서 로그아웃합니다.

search_train(dep, arr, date=None, time=None, time_limit=None, available_only=True)

주어진 출발지에서 도착지로 향하는 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, passengers=None, special_seat=<SeatType.GENERAL_FIRST: 1>, window_seat=None)

열차를 예약합니다.

>>> 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

get_reservations()

전체 예약 정보를 얻습니다.

Returns

예약 리스트

Return type

list[SRTReservation]

ticket_info(reservation)

예약에 포함된 티켓 정보를 반환합니다.

>>> 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)

예약을 취소합니다.

>>> reservation = srt.reserve(train)
>>> srt.cancel(reservation)
>>> reservations = srt.get_reservations()
>>> srt.cancel(reservations[0])
Parameters

reservation (SRTReservation or int) – 예약 번호

Returns

예약 취소 성공 여부

Return type

bool