https://github.com/devxoul/korail
:train2: An unofficial Korail API for Python.
https://github.com/devxoul/korail
Last synced: over 1 year ago
JSON representation
:train2: An unofficial Korail API for Python.
- Host: GitHub
- URL: https://github.com/devxoul/korail
- Owner: devxoul
- License: bsd-3-clause
- Created: 2014-01-23T03:56:26.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2019-11-04T04:30:26.000Z (over 6 years ago)
- Last Synced: 2025-02-27T08:23:25.320Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 96
- Watchers: 12
- Forks: 26
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
======
Korail
======
An unofficial Korail API for Python.
Installation
------------
You can install Korail with ``pip`` command like below:
::
$ pip install korail
Quick Start
-----------
1. Login
~~~~~~~~
You can login to korail server via *membership number signing* or *phone number signing*.
Basically, to login via *membership number signing*:
::
from korail import Korail
korail = Korail()
korail.login('12345678', '0000') # membership number signing
Or via *phone number signing*:
::
korail.login('010-1234-5678', '0000', True) # phone number siging
2. Search Station
~~~~~~~~~~~~~~~~~
Search a station code with station name. All station code and name data is stored in ``stations.py`` file in package.
A single station data looks like:
::
{
"code": "0001",
"name": u"서울"
}
::
stations = korail.search_station('서울')
print stations[0]['code'] # '0001'
3. Search Train
~~~~~~~~~~~~~~~
You can search train schedules with ``search_train()`` method. ``search_train()`` method takes these arguments:
dep
A departure station code.
arr
An arrival station code.
date
Departure date. (``yyyyMMdd`` formatted)
time (Default='000000')
Departure time. (``hhmmss`` formatted)
train (Default='05')
A train type. One of these:
- 00: KTX
- 01: 새마을호
- 02: 무궁화호
- 03: 통근열차
- 04: 누리로
- 05: 전체 (기본값)
- 06: 공학직통
- 09: ITX-청춘
count (Default=1)
A number of passengers. Minimum value is 1 and maximum is 9.
Sample search code:
::
dep = '0001' # From: Seoul Station
arr = '0015' # To: Dong-Daegu Station
date = '20140114' # yyyyMMdd
time = '001230' # hhmmss
# list of ``Trains`` instances.
trains = korail.search_train(dep, arr, date, time)
4. Reservation
~~~~~~~~~~~~~~
::
try:
korail.reserve(train)
except KorailError as e:
print e.message
5. Get Tickets
~~~~~~~~~~~~~~
Retrieving all ticket information is not support yet. Only ticket id is returned.
::
korail.tickets()
6. Cancel Ticket
~~~~~~~~~~~~~~~~
Example code below cancels all reserved tickets.
::
for ticket_id in korail.tickets():
korail.cancel_ticket(ticket_id)
To-Do
-----
1. Non-member reservation
2. More detailed exception handling
3. ``tickets()`` to return all ticket information.