Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 06:28
· 45 commits to main since this release
0128c65

pykorail v0.3.0

uv add pykorail==0.3.0
# λ˜λŠ”
pip install pykorail==0.3.0

⚠️ κΉ¨μ§€λŠ” λ³€κ²½

μ•„λž˜ μžλ™ μƒμ„±λœ λͺ©λ‘μ€ PR 제λͺ©λ§Œ λ‚˜μ—΄ν•΄μ„œ 무엇이 κΉ¨μ§€λŠ”μ§€λŠ” λ“œλŸ¬λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 0.2.x μ—μ„œ 올릴 λ•Œ 손봐야 ν•˜λŠ” 곳을 여기에 μ μŠ΅λ‹ˆλ‹€.

Python 3.10 지원 μ’…λ£Œ β€” #41

requires-python 이 >=3.11 둜 μ˜¬λΌκ°‘λ‹ˆλ‹€. 3.10 ν™˜κ²½μ΄ κΉ¨μ§€λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€ β€” pip Β· uv κ°€ 3.10 μ—μ„œλŠ” 0.2.x λ₯Ό μžλ™μœΌλ‘œ κ³ λ¦…λ‹ˆλ‹€. 0.3.0 λΆ€ν„°μ˜ 변경을 λ°›μœΌλ €λ©΄ νŒŒμ΄μ¬μ„ 3.11 μ΄μƒμœΌλ‘œ μ˜¬λ¦¬μ„Έμš”.

Train 에 ν•„μˆ˜ ν•„λ“œ λ‹€μ„― κ°œκ°€ λŠ˜μ—ˆμŠ΅λ‹ˆλ‹€ β€” #45 Β· #54

dep_run_order Β· arr_run_order Β· seat_attribute (#45), dep_cons_order Β· arr_cons_order (#54) μž…λ‹ˆλ‹€. 응닡을 Train.from_response() 둜 λ°›λŠ” μ½”λ“œλŠ” 영ν–₯이 μ—†μŠ΅λ‹ˆλ‹€. Train(...) 을 직접 λ§Œλ“€μ–΄ μ“°λŠ” μ½”λ“œλŠ” TypeError 둜 κΉ¨μ§‘λ‹ˆλ‹€ β€” λ‹€μ„― 값을 μ±„μ›Œ λ„£μœΌμ„Έμš”.

μ•Œλ €μ§„ 응닡 μ½”λ“œμ˜ μ˜ˆμ™Έκ°€ μ„œλ²„ λ©”μ‹œμ§€λ₯Ό μ‹£μŠ΅λ‹ˆλ‹€ β€” #53

NeedToLoginError Β· NoResultsError Β· SoldOutError κ°€ "Need to Login" 같은 영문 κΈ°λ³Έ 문ꡬ λŒ€μ‹  μ„œλ²„κ°€ μ€€ h_msg_txt λ₯Ό msg 와 str() 에 μ‹£μŠ΅λ‹ˆλ‹€. νƒ€μž…κ³Ό code λŠ” κ·ΈλŒ€λ‘œλΌ except SoldOutError λ‚˜ exc.code == "P058" λŠ” 영ν–₯이 μ—†μŠ΅λ‹ˆλ‹€. κΈ°λ³Έ 문ꡬλ₯Ό λ¬Έμžμ—΄λ‘œ λΉ„κ΅ν•˜λ˜ μ½”λ“œλ§Œ νƒ€μž…μ΄λ‚˜ code 둜 λ°”κΎΈμ„Έμš”.

λΉ„λ°€λ²ˆν˜Έ λ³€κ²½ μ•ˆλ‚΄μ— κ±Έλ¦° 둜그인이 μ˜ˆμ™Έκ°€ λ©λ‹ˆλ‹€ β€” #52

같은 λΉ„λ°€λ²ˆν˜Έλ₯Ό 6κ°œμ›” λ„˜κ²Œ μ“΄ 계정은 μ½”λ ˆμΌμ΄ 둜그인 응닡에 λΉ„λ°€λ²ˆν˜Έ λ³€κ²½ μ•ˆλ‚΄λ₯Ό μ‹£μŠ΅λ‹ˆλ‹€. μ „μ—λŠ” strResult=SUCC λΌλŠ” 이유둜 μ„±κ³΅μœΌλ‘œ μ²˜λ¦¬λμŠ΅λ‹ˆλ‹€ β€” μ„Έμ…˜μ€ μΈμ¦λ˜μ§€ μ•Šμ•˜λŠ”λ°λ„μš”. κ·Έ λ’€ 둜그인이 ν•„μš”ν•œ 호좜(μ˜ˆμ•½ 쑰회 Β· 예맀 Β· μ·¨μ†Œ λ“±)은 μ „λΆ€ NeedToLoginError 둜 μ‹€νŒ¨ν–ˆκ³ , μ—΄μ°¨ μ‘°νšŒλŠ” κ·ΈλŒ€λ‘œ λμŠ΅λ‹ˆλ‹€. 이제 login() 이 PasswordChangeRequiredError λ₯Ό μ˜¬λ¦½λ‹ˆλ‹€. LoginFailedError 의 ν•˜μœ„ νƒ€μž…μ΄λΌ κΈ°μ‘΄ except LoginFailedError κ°€ κ·ΈλŒ€λ‘œ μž‘μŠ΅λ‹ˆλ‹€. μ½”λ ˆμΌν†‘ μ•±μ΄λ‚˜ ν™ˆνŽ˜μ΄μ§€μ—μ„œ μ•ˆλ‚΄λ₯Ό μ²˜λ¦¬ν•œ λ’€ λ‹€μ‹œ λ‘œκ·ΈμΈν•˜μ„Έμš”.

πŸ“Œ μ•Œμ•„λ‘˜ 것

κΉ¨μ§€μ§€λŠ” μ•Šμ§€λ§Œ 0.2.x 와 λ‹€λ₯Έ κ³³μž…λ‹ˆλ‹€.

ν™˜μŠΉ μ˜ˆμ•½μ€ μ˜ˆμ•½λ²ˆν˜Έ ν•˜λ‚˜μ— ꡬ간이 λ‘˜μž…λ‹ˆλ‹€ β€” #56

reservations.all() 에 κ΅¬κ°„λ§ˆλ‹€ ν•œ 쀄씩 λ‚˜μ˜€κ³ (find() λŠ” 그쀑 첫 쀄 ν•˜λ‚˜λ§Œ λŒλ €μ€λ‹ˆλ‹€), 각 μ€„μ˜ price λŠ” κ·Έ κ΅¬κ°„μ˜ κΈˆμ•‘μ΄ μ•„λ‹ˆλΌ μ˜ˆμ•½ μ „μ²΄μ˜ κΈˆμ•‘μž…λ‹ˆλ‹€(두 ꡬ간에 같은 κ°’). μ—¬κΈ°κΉŒμ§€λŠ” 0.2.x 도 κ°™μ•˜μŠ΅λ‹ˆλ‹€ β€” μ•±μ—μ„œ λ§Œλ“  ν™˜μŠΉ μ˜ˆμ•½λ„ all() μ—μ„œ 두 μ€„λ‘œ λ‚˜μ™”μŠ΅λ‹ˆλ‹€.

0.3.0 μ—μ„œ 달라진 것은 λ‘˜μž…λ‹ˆλ‹€. cancel() 이 ν™˜μŠΉ μ˜ˆμ•½μ„ μ·¨μ†Œν•©λ‹ˆλ‹€ β€” μ „μ—λŠ” cancel() 이 λ³΄λ‚΄λŠ” 값이 여정이 λ‘˜μΈ μ˜ˆμ•½μ— λ§žμ§€ μ•Šμ•„ μ„œλ²„κ°€ ERR800052 둜 κ±°μ ˆν–ˆκ³ , μ•±μ—μ„œ λ§Œλ“  ν™˜μŠΉ μ˜ˆμ•½μ„ pykorail 둜 μ·¨μ†Œν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. 이제 μ–΄λŠ ꡬ간을 λ„˜κ²¨λ„ μ˜ˆμ•½ 전체가 μ·¨μ†Œλ©λ‹ˆλ‹€. 그리고 λͺ©λ‘μ˜ 각 쀄이 자기 κ΅¬κ°„μ˜ μ’Œμ„μ„ κ°€μ§‘λ‹ˆλ‹€ β€” μ „μ—λŠ” λ‘˜μ§Έ 쀄도 첫 κ΅¬κ°„μ˜ μ’Œμ„μ„ λ“€κ³  μ™”μŠ΅λ‹ˆλ‹€.

What's Changed

πŸ’₯ ν˜Έν™˜μ„±μ΄ κΉ¨μ§€λŠ” λ³€κ²½

  • DEL: Python 3.10 지원 μ’…λ£Œ by @devgyurak in #41

πŸš„ μ½”λ ˆμΌ API λŒ€μ‘

  • FIX: λΉ„λ°€λ²ˆν˜Έ λ³€κ²½ μ•ˆλ‚΄μ— κ±Έλ¦° λ‘œκ·ΈμΈμ„ μ„±κ³΅μœΌλ‘œ 치던 문제 by @devgyurak in #52

✨ μƒˆ κΈ°λŠ₯

  • ADD: λ¬Έμ„œ μ‚¬μ΄νŠΈ site/ β€” μ €μž₯μ†Œ λ¬Έμ„œλ₯Ό Starlight 둜 λΉŒλ“œ by @devgyurak in #34
  • ADD: Python 3.15 지원 by @devgyurak in #42
  • ADD: μ—΄μ°¨ 쑰회 κ²°κ³Ό 이어 λ°›κΈ° (trains.search 의 max_pages) by @devgyurak in #44
  • ADD: 호차 Β· μ’Œμ„ 쑰회 (trains.cars Β· trains.seats) by @devgyurak in #45
  • ADD: ν™˜μŠΉ 쑰회 (trains.search_transfers Β· trains.transfer_stations) by @devgyurak in #48
  • ADD: 예맀 μ „ μš΄μž„ 쑰회 (trains.fares) by @devgyurak in #50
  • ADD: λ§ˆμΌλ¦¬μ§€ Β· 할인쿠폰 쑰회 (korail.membership) by @devgyurak in #51
  • ADD: μ’Œμ„μ„ 골라 μ˜ˆλ§€ν•˜κΈ° (reservations.create_with_seats) by @devgyurak in #54
  • ADD: κ³΅ν•­λ²„μŠ€ μ •λ₯˜μž₯ Β· μ‹œκ°„ν‘œ Β· μ’Œμ„ 쑰회 (korail.airport_bus) by @devgyurak in #55
  • ADD: ν™˜μŠΉ μ—¬μ • 예맀 (reservations.create_transfer) by @devgyurak in #56

πŸ› 버그 μˆ˜μ •

  • FIX: λͺ©λ‘ μžλ¦¬μ— null 이 와도 쑰회 Β· μ˜ˆμ•½ λͺ©λ‘ Β· 승차ꢌ λͺ©λ‘μ΄ μ£½μ§€ μ•Šκ²Œ by @devgyurak in #46
  • FIX: μ•Œλ €μ§„ 응닡 μ½”λ“œμ˜ μ˜ˆμ™Έκ°€ μ„œλ²„ λ©”μ‹œμ§€λ₯Ό λ²„λ¦¬λ˜ 문제 by @devgyurak in #53

πŸ“¦ μ˜μ‘΄μ„±

  • UPT: Bump ty from 0.0.84 to 0.0.85 in the dev-tools group across 1 directory by @dependabot[bot] in #36
  • UPT: Bump pycryptodome from 3.23.0 to 3.24.0 in the runtime group across 1 directory by @dependabot[bot] in #37

πŸ“ λ¬Έμ„œ

  • DOCS: README 상단에 λΌμ΄νŠΈΒ·λ‹€ν¬ λ°°λ„ˆ 이미지 μΆ”κ°€ by @devgyurak in #33
  • DOCS: README 에 λ¬Έμ„œ μ‚¬μ΄νŠΈ 링크 μΆ”κ°€ by @devgyurak in #38
  • ADD: λ¬Έμ„œ μ‚¬μ΄νŠΈ 헀더 Β· favicon 에 승차ꢌ 둜고 by @devgyurak in #49
  • DOCS: v0.3.0 릴리슀 μ „ 정리 β€” 예제 λ‚ μ§œμ™€ .env by @devgyurak in #63

🧹 λ‚΄λΆ€ 정리

  • FIX: Dependabot 이 site 의 typescript 메이저 λ²”ν”„λ₯Ό μ˜¬λ¦¬μ§€ μ•Šκ²Œ 함 by @devgyurak in #39
  • FIX: 미리보기 λΉŒλ“œκ°€ λŒλ„λ‘ wrangler 섀정에 previews 블둝 μΆ”κ°€ by @devgyurak in #47

Full Changelog: v0.2.2...v0.3.0