Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devxoul/korail
:train2: An unofficial Korail API for Python.
https://github.com/devxoul/korail
Last synced: about 2 months 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 10 years ago)
- Default Branch: master
- Last Pushed: 2019-11-04T04:30:26.000Z (almost 5 years ago)
- Last Synced: 2024-07-05T14:52:48.074Z (2 months ago)
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 91
- Watchers: 12
- Forks: 25
- 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 signingOr 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.message5. 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.