def query(query): if (len(query) == 0): rowList = [{ 'uid': '1', 'arg': '', 'autocomplete': '', 'icon': 'icon.png', 'subtitle': 'Please Input', 'title': 'Please Input' }] element = alfredxml.genAlfredXML(rowList) print(element) return if (is_cn_char(unicode(query, "utf-8")[0])): resp = bdDict("zh", "en", query) else: resp = bdDict("en", "zh", query) if (resp[u'errno'] == 0): if (len(resp[u'data']) == 0): return rowList = [] subtitle = '' k = resp['data']['symbols'][0] uid = 1 for i in k.keys(): if (i.startswith("ph_")): subtitle += i[3:] + '[' + resp['data']['symbols'][0][i] + ']' rowList.append({ 'uid': uid, 'arg': query, 'autocomplete': query, 'icon': 'icon.png', 'subtitle': subtitle.encode("utf-8"), 'title': '发音' }) uid += 1 for i in resp['data']['symbols'][0]['parts']: if (len(i['part']) > 0): subtitle = reduce(lambda x, y: x + "," + y, i['part']) else: subtitle = '' title = reduce(lambda x, y: x + "," + y, i['means']) rowList.append({ 'uid': uid, 'arg': query, 'autocomplete': query, 'icon': 'icon.png', 'subtitle': subtitle.encode("utf-8"), 'title': title.encode("utf-8") }) uid += 1 else: print("err") pass #print(rowList) print(alfredxml.genAlfredXML(rowList))
def query(arg): arg = arg.strip() if(len(arg)==0): rowList = [{'uid':'1', 'arg':'', 'autocomplete':'', 'icon':'head_1.png', 'subtitle':'Please Input' + arg, 'title':'Please Inputs'}]; element = alfredxml.genAlfredXML(rowList) print(element) return else: try: resp = urllib.urlopen("http://tip.mi.com/article") except Exception, info: rowList = [{'uid':'1', 'arg':'', 'autocomplete':'', 'icon':'head_1.png', 'subtitle':'there is sth wrong', 'title':'Sorry'}]; element = alfredxml.genAlfredXML(rowList) print(info) else:
def query(query): # 对query 作防御 if(len(query)==0): rowList = [{'uid':'1', 'arg':'', 'autocomplete':'', 'icon':'icon.png', 'subtitle':'Please Input', 'title':'Please Input'}] element = alfredxml.genAlfredXML(rowList) print(element) #输出结果,其中arg值最为下一个query return # 判断是否为中文字符,若是 汉译英 若否 英译汉 if(is_cn_char(unicode(query,"utf-8")[0])): resp = bdDict("zh","en",query) else: resp = bdDict("en","zh",query) if(resp[u'errno'] == 0): # 通过bdDict() 函数 ,调用百度词典HTTP接口. if(len(resp[u'data'])==0): return rowList = [] subtitle = '' k = resp['data']['symbols'][0] # 解析JSON. uid = 1 for i in k.keys(): if(i.startswith("ph_")): subtitle +=i[3:]+'['+ resp['data']['symbols'][0][i] + ']' # 解析JSON, 生成rowList rowList.append({ 'uid':uid, 'arg':query, 'autocomplete':query, 'icon':'icon.png', 'subtitle':subtitle.encode("utf-8"), 'title':'发音'}) uid +=1 for i in resp['data']['symbols'][0]['parts']: if(len(i['part'])>0): subtitle = reduce(lambda x,y:x+","+y, i['part']) else: subtitle = '' title = reduce(lambda x,y:x+","+y, i['means']) rowList.append({ 'uid':uid, 'arg':query, 'autocomplete':query, 'icon':'icon.png', 'subtitle':subtitle.encode("utf-8"), 'title':title.encode("utf-8")}) uid +=1 else: print("err") pass #print(rowList) # 生成XML文件. print(alfredxml.genAlfredXML(rowList))
def query(query): if(len(query)==0): rowList = [{'uid':'1', 'arg':'', 'autocomplete':'', 'icon':'icon.png', 'subtitle':'Please Input', 'title':'Please Input'}] element = alfredxml.genAlfredXML(rowList) print(element) return if(is_cn_char(unicode(query,"utf-8")[0] )): resp = bdDict("zh","en",query) else: resp = bdDict("en","zh",query) if(resp[u'errno'] == 0): if(len(resp[u'data'])==0): return rowList = [] subtitle = '' k = resp['data']['symbols'][0] uid = 1 for i in k.keys(): if(i.startswith("ph_")): subtitle +=i[3:]+'['+ resp['data']['symbols'][0][i] + ']' rowList.append({ 'uid':uid, 'arg':query, 'autocomplete':query, 'icon':'icon.png', 'subtitle':subtitle.encode("utf-8"), 'title':'发音'}) uid +=1 for i in resp['data']['symbols'][0]['parts']: if(len(i['part'])>0): subtitle = reduce(lambda x,y:x+","+y, i['part']) else: subtitle = '' title = reduce(lambda x,y:x+","+y, i['means']) rowList.append({ 'uid':uid, 'arg':query, 'autocomplete':query, 'icon':'icon.png', 'subtitle':subtitle.encode("utf-8"), 'title':title.encode("utf-8")}) uid +=1 else: print("err") pass #print(rowList) print(alfredxml.genAlfredXML(rowList))
def do(query): if util.command(query) == util.COMMAND_LS: items = listHosts() elif util.command(query) == util.COMMAND_OPEN: items = openHosts() elif util.command(query) == util.COMMAND_NEW: items = newHosts() elif util.command(query) == util.COMMAND_DELETE: items = deleteHosts() else: items = helpMsg() return alfredxml.genAlfredXML(items)