From f657a958f1e52681107934b5a55ae1c92b7de611 Mon Sep 17 00:00:00 2001 From: inchanS Date: Sun, 24 Mar 2024 01:04:38 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9D=B4=EC=A0=9C=20=EB=84=A4=EC=9D=B4?= =?UTF-8?q?=EB=B2=84=20=EC=A7=80=EB=8F=84=20=EA=B2=80=EC=83=89=EC=8B=9C=20?= =?UTF-8?q?place,=20address,=20bus=EC=9D=98=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EA=B2=B0=EA=B3=BC=EA=B0=80=20=EC=9E=88=EC=9D=84=20=EB=95=8C?= =?UTF-8?q?=EB=A7=8C=20'=ED=95=B4=EB=8B=B9=20=ED=83=80=EC=9E=85=EB=A7=8C?= =?UTF-8?q?=20=EB=B3=B4=EA=B8=B0'=EA=B0=80=20=EC=83=81=EB=8B=A8=EC=97=90?= =?UTF-8?q?=20=EB=82=98=ED=83=80=EB=82=A9=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/naver_map.py | 69 ++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 30 deletions(-) diff --git a/workflow/naver_map.py b/workflow/naver_map.py index 9c4f8ab..5d56f32 100644 --- a/workflow/naver_map.py +++ b/workflow/naver_map.py @@ -23,7 +23,6 @@ import sys import os -import re from workflow import web, Workflow @@ -53,39 +52,13 @@ def get_data(locate, word): headers = {"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"} r = web.get(url, params, headers=headers) r.raise_for_status() - return r.json().get("all") + return r.json() def main(wf): use_ip = wf.args[0] args = wf.args[1] - wf.add_item(title=f"Search Naver Map for '{args}'", - autocomplete=args, - arg=f"https://map.naver.com/p/search/{args}", - quicklookurl=f"https://map.naver.com/p/search/{args}", - valid=True) - - wf.add_item(title=f"Search only Place for '{args}'", - autocomplete=args, - arg=f"place: {args}", - icon='7FBDB33A-E342-411C-B00B-8B797AE8C19A.png', - valid=True) - - wf.add_item(title=f"Search only Address for '{args}'", - autocomplete=args, - arg=f"address: {args}", - icon='3F6E3BB6-64CC-481E-990D-F3823D3616A8.png', - valid=True) - - - if re.match(r'^\d+$', args): - wf.add_item(title=f"Search only Bus for '{args}'", - autocomplete=args, - arg=f"bus: {args}", - icon='845B46E7-61FB-43CD-A287-FCB4C075A4A6.png', - valid=True) - if use_ip == 'useIP': data_to_cache = {'use': True} wf.cache_data('use_ip', data_to_cache) @@ -95,6 +68,7 @@ def wrapper(): return get_data(locate, args) res_json = wf.cached_data(f"navmapip_{args}", wrapper, max_age=cache_age) + else: data_to_cache = {'use': False} wf.cache_data('use_ip', data_to_cache) @@ -105,13 +79,48 @@ def wrapper(): res_json = wf.cached_data(f"navmap_{args}", wrapper, max_age=cache_age) - if not res_json: + wf.add_item(title=f"Search Naver Map for '{args}'", + autocomplete=args, + arg=f"https://map.naver.com/p/search/{args}", + quicklookurl=f"https://map.naver.com/p/search/{args}", + valid=True) + + place_list = res_json.get('place') + address_list = res_json.get('address') + bus_list = res_json.get('bus') + + is_place_empty = not res_json.get('place') + is_address_empty = not res_json.get('address') + is_bus_empty = not res_json.get('bus') + + if is_place_empty and is_address_empty and is_bus_empty: wf.add_item( title=f"No search results for '{args}'", icon='noresults.png', valid=False) - for item in res_json: + if isinstance(place_list, list) and len(place_list) > 0: + wf.add_item(title=f"Search only Place for '{args}'", + autocomplete=args, + arg=f"place: {args}", + icon='7FBDB33A-E342-411C-B00B-8B797AE8C19A.png', + valid=True) + + if isinstance(address_list, list) and len(address_list) > 0: + wf.add_item(title=f"Search only Address for '{args}'", + autocomplete=args, + arg=f"address: {args}", + icon='3F6E3BB6-64CC-481E-990D-F3823D3616A8.png', + valid=True) + + if isinstance(bus_list, list) and len(bus_list) > 0: + wf.add_item(title=f"Search only Bus for '{args}'", + autocomplete=args, + arg=f"bus: {args}", + icon='845B46E7-61FB-43CD-A287-FCB4C075A4A6.png', + valid=True) + + for item in res_json['all']: if item.get("address"): ltxt = item["address"] address_key = "fullAddress"