r = web.post(url, data=params) print(r) # throw an error if request failed, Workflow will catch this and show # it to the user r.raise_for_status() # result = r.json() return r.json()["result"]['data']
defmain(wf): query = wf.args[0] ifnot query: for key in ["inner", "outter", "top"]: wf.add_item( title=query_map[key], valid=True, ) else: defwrapper(): return get_recent_news(query)
news = wf.cached_data(query, wrapper, max_age=300) # news = get_recent_news(query) for r in news: wf.add_item(title=u"【{}】{}".format(r["author_name"], r['title']), arg=r['url'], valid=True, icon=ICON_WEB) # Send output to Alfred. You can only call this once. # Well, you *can* call it multiple times, but Alfred won't be listening # any more... wf.send_feedback()
if __name__ == '__main__': wf = Workflow() sys.exit(wf.run(main))