From 008111eff8b3fcee0e66d408cedf75375301037a Mon Sep 17 00:00:00 2001 From: gahusb Date: Fri, 10 Jul 2026 00:23:54 +0900 Subject: [PATCH] =?UTF-8?q?feat(realestate):=20=EB=84=A4=EC=9D=B4=EB=B2=84?= =?UTF-8?q?=20cortarNo=2010=EC=9E=90=EB=A6=AC=20=EB=B2=95=EC=A0=95?= =?UTF-8?q?=EB=8F=99=20=EB=A7=A4=ED=95=91(NAVER=5FCORTAR)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- realestate-lab/app/lawd_codes.py | 16 ++++++++++++++++ realestate-lab/tests/test_lawd_codes.py | 11 +++++++++++ 2 files changed, 27 insertions(+) diff --git a/realestate-lab/app/lawd_codes.py b/realestate-lab/app/lawd_codes.py index 532bda1..5e67d8a 100644 --- a/realestate-lab/app/lawd_codes.py +++ b/realestate-lab/app/lawd_codes.py @@ -22,3 +22,19 @@ LAWD_CODES = {dong: _DISTRICT_CODE[d] for dong, d in _DONG_TO_DISTRICT.items() i def lawd_code(dong: str) -> str | None: return LAWD_CODES.get((dong or "").strip()) + + +# 네이버부동산 cortarNo = 10자리 법정동코드 (LAWD_CODES 5자리 시군구와 별개). +# 출처: 행정표준코드관리시스템 법정동코드. 대상 동 추가 시 여기에. +NAVER_CORTAR = { + "신대방동": "1159010100", + "대방동": "1159010200", + "상도동": "1159010600", + "봉천동": "1162010100", + "대림동": "1156013600", + "신길동": "1156013200", +} + + +def naver_cortar(dong: str) -> str | None: + return NAVER_CORTAR.get((dong or "").strip()) diff --git a/realestate-lab/tests/test_lawd_codes.py b/realestate-lab/tests/test_lawd_codes.py index 5211cc6..1f5a688 100644 --- a/realestate-lab/tests/test_lawd_codes.py +++ b/realestate-lab/tests/test_lawd_codes.py @@ -4,3 +4,14 @@ def test_lawd_code_maps_target_dongs(): assert lawd_code("봉천동") == "11620" # 관악구 assert lawd_code("신길동") == "11560" # 영등포구 assert lawd_code("없는동") is None + + +def test_naver_cortar_10digit(): + from app.lawd_codes import naver_cortar, NAVER_CORTAR + assert naver_cortar("신대방동") == "1159010100" + assert naver_cortar("봉천동") == "1162010100" + assert naver_cortar("신길동") == "1156013200" + assert naver_cortar("없는동") is None + # 6개 초기 대상 동 전부 10자리 + for d in ["신대방동","대방동","상도동","봉천동","대림동","신길동"]: + assert len(NAVER_CORTAR[d]) == 10