66import functools
77import re
88import sys
9+ from textwrap import wrap
910from urllib import quote_plus
1011
1112from algoliasearch .search_client import SearchClient
1213from config import Config
13- from workflow import Workflow , ICON_INFO
14+ from workflow import Workflow3 , ICON_INFO
1415
1516# Algolia client
1617client = SearchClient .create (Config .ALGOLIA_APP_ID , Config .ALGOLIA_SEARCH_ONLY_API_KEY )
@@ -26,7 +27,7 @@ def cache_key(query):
2627 key = key .lower ()
2728 key = re .sub (r"[^a-z0-9-_;.]" , "-" , key )
2829 key = re .sub (r"-+" , "-" , key )
29- log .debug ("Cache key : {!r} -> {!r}" .format (query , key ))
30+ # log.debug("Cache key : {!r} -> {!r}".format(query, key))
3031 return key
3132
3233
@@ -60,8 +61,6 @@ def main(wf):
6061
6162 query = wf .args [0 ].strip ()
6263
63- log .debug ("query : {!r}" .format (query ))
64-
6564 if not query :
6665 wf .add_item ("Search the Flask docs..." )
6766 wf .send_feedback ()
@@ -72,6 +71,8 @@ def main(wf):
7271
7372 query = " " .join (words )
7473
74+ log .debug ("query : {!r}" .format (query ))
75+
7576 key = cache_key (query )
7677
7778 results = [
@@ -81,15 +82,16 @@ def main(wf):
8182 )
8283 ]
8384
84- log .debug ("{} results for {!r}" .format (len (results ), query ))
85+ # log.debug("{} results for {!r}".format(len(results), query))
86+
8587 # Show results
8688 if not results :
8789 url = "https://www.google.com/search?q={}" .format (
8890 quote_plus ("Flask {}" .format (query ))
8991 )
9092 wf .add_item (
9193 "No matching answers found" ,
92- "Try a and search Google?" ,
94+ "Shall I try and search Google?" ,
9395 valid = True ,
9496 arg = url ,
9597 copytext = url ,
@@ -98,10 +100,14 @@ def main(wf):
98100 )
99101
100102 for result in results :
103+ subtitle = wrap (result ["content" ], width = 75 )[0 ]
104+ if len (result ["content" ]) > 75 :
105+ subtitle += " ..."
106+
101107 wf .add_item (
102108 uid = result ["id" ],
103109 title = result ["id" ],
104- subtitle = result [ "content" ] ,
110+ subtitle = subtitle ,
105111 arg = result ["permalink" ],
106112 valid = True ,
107113 largetext = result ["title" ],
@@ -115,7 +121,7 @@ def main(wf):
115121
116122
117123if __name__ == "__main__" :
118- wf = Workflow (
124+ wf = Workflow3 (
119125 update_settings = {"github_slug" : "techouse/alfred-flask-docs" , "frequency" : 7 }
120126 )
121127 log = wf .logger
0 commit comments