Example #1
0
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))
Example #2
0
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:
Example #3
0
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))
Example #4
0
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))
Example #5
0
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)