Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
liszd committed Mar 26, 2019
2 parents 0c02bc0 + 3688210 commit 4626ffa
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 44 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

*.pyc
history.log
youdao_cookie
youdao_cookie
.DS_Store
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# whyliam.workflows.youdao

## 有道翻译 workflow v2.2.1
## 有道翻译 workflow v2.2.2

默认快捷键 `yd`,查看翻译结果。

Expand All @@ -24,29 +24,29 @@

### 下载

[点击下载](https://github.com/liszd/whyliam.workflows.youdao/releases/download/2.2.1/whyliam.workflows.youdao.alfredworkflow)
[点击下载](https://github.com/whyliam/whyliam.workflows.youdao/releases/download/2.2.2/whyliam.workflows.youdao.alfredworkflow)

### 安装

1\. [下载](https://github.com/liszd/whyliam.workflows.youdao/releases)最新版本双击安装
1\. [下载](https://github.com/whyliam/whyliam.workflows.youdao/releases)最新版本双击安装

**老版本有道**

2\. [注册](http://fanyi.youdao.com/openapi?path=data-mode)有道翻译API
2\. [注册](http://fanyi.youdao.com/openapi?path=data-mode)有道翻译 API

3\. 在Alfred的设置中填入对应的`Key``Keyfrom`
3\. 在 Alfred 的设置中填入对应的`Key``Keyfrom`

![](http://ww2.sinaimg.cn/large/006tNbRwgy1feno2vevklj31a30os0u5.jpg)

**或者 新版本有道智云**

2\. [注册](http://ai.youdao.com/appmgr.s)有道智云应用

3\. 在Alfred的设置中填入对应的`应用ID``应用密钥`
3\. 在 Alfred 的设置中填入对应的`应用ID``应用密钥`

![](https://ws2.sinaimg.cn/large/006tKfTcgy1fiosfttuejj31kw0vb493.jpg)

4\. 在Alfred的设置中设置快捷方式键
4\. 在 Alfred 的设置中设置快捷方式键
![](http://ww2.sinaimg.cn/large/006tNbRwgy1feno6pzaxdj31a60p0jsl.jpg)

### 问题
Expand Down
16 changes: 9 additions & 7 deletions info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
<dict>
<key>bundleid</key>
<string>whyliam.workflows.youdao</string>
<key>category</key>
<string>Tools</string>
<key>connections</key>
<dict>
<key>27E60581-8105-41DD-8E29-4FE811179098</key>
Expand Down Expand Up @@ -132,7 +134,7 @@
<key>escaping</key>
<integer>35</integer>
<key>script</key>
<string>/usr/bin/python splitargs.py "{query}" 0</string>
<string>/usr/bin/python splitargs.py "{query}" "search"</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
Expand Down Expand Up @@ -174,7 +176,7 @@
<key>escaping</key>
<integer>35</integer>
<key>script</key>
<string>/usr/bin/python splitargs.py "{query}" 2</string>
<string>/usr/bin/python splitargs.py "{query}" "pronounce"</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
Expand Down Expand Up @@ -261,7 +263,7 @@
<key>escaping</key>
<integer>32</integer>
<key>script</key>
<string>/usr/bin/python splitargs.py "{query}" 1</string>
<string>/usr/bin/python splitargs.py "{query}" "copy"</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
Expand All @@ -284,7 +286,7 @@
<key>escaping</key>
<integer>32</integer>
<key>script</key>
<string>/usr/bin/python splitargs.py "{query}" 1</string>
<string>/usr/bin/python splitargs.py "{query}" "copy"</string>
<key>scriptargtype</key>
<integer>0</integer>
<key>scriptfile</key>
Expand Down Expand Up @@ -389,7 +391,7 @@
</dict>
</array>
<key>readme</key>
<string>有道翻译 Workflow v2.2.1
<string>有道翻译 Workflow v2.2.2
默认快捷键 yd, 查看翻译结果。
Expand Down Expand Up @@ -520,8 +522,8 @@
<string>zhiyun_key</string>
</array>
<key>version</key>
<string>2.2.1</string>
<string>2.2.2</string>
<key>webaddress</key>
<string>https://github.com/liszd/whyliam.workflows.youdao</string>
<string>https://github.com/whyliam/whyliam.workflows.youdao</string>
</dict>
</plist>
25 changes: 16 additions & 9 deletions splitargs.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,27 @@
def getargs(wf):
query = sys.argv[1]
query = query.split('$%')
part = int(sys.argv[2])
operation = str(sys.argv[2])

if query[4]:
# 是否有更新
if query[4] == 'update':
wf.start_update()
# 是否有错误
elif query[4] == 'error':
import webbrowser
new = 2
url = "https://blog.naaln.com/2017/04/alfred-youdao-intro/"
webbrowser.open(url, new=new)
return 0
webbrowser.open(url)
return
elif query[4] != '':
return

if part == 0:
if operation == 'search':
# 查询的单词
sys.stdout.write(query[0].strip())
elif part == 1:
elif operation == 'copy':
# 翻译的结果
sys.stdout.write(query[1].strip())
elif part == 2:
elif operation == "pronounce":
# 发音
if query[2]:
bashCommand = "say --voice='Samantha' " + query[2]
Expand All @@ -36,5 +41,7 @@ def getargs(wf):


if __name__ == '__main__':
wf = Workflow3()
wf = Workflow3(update_settings={
'github_slug': 'whyliam/whyliam.workflows.youdao',
})
sys.exit(wf.run(getargs))
2 changes: 1 addition & 1 deletion version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.2.1
2.2.2
Binary file modified whyliam.workflows.youdao.alfredworkflow
Binary file not shown.
43 changes: 24 additions & 19 deletions youdao.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,17 +154,23 @@ def get_history_data():
arg=line['arg'], valid=True, icon=line['icon'])


def check_Update():
def is_expired():
# 检查更新
if wf.update_available:
workflow.update.install_update()
arg = ['', '', '', '', 'error']
arg = ['', '', '', '', 'update']
arg = '$%'.join(arg)
wf.add_item(
title='有新版本更新', subtitle='', arg=arg,
title='马上更新', subtitle='有新版本更新', arg=arg,
valid=True, icon=ICON_UPDATE)
else:
wf.add_item('有道翻译')

arg = ['', '', '', '', 'not_update']
arg = '$%'.join(arg)
wf.add_item(
title='暂不更新', subtitle='有新版本更新', arg=arg,
valid=True, icon=ICON_ERROR)
wf.send_feedback()
return True
return False


def is_English(query):
Expand All @@ -176,7 +182,7 @@ def is_English(query):
return True


def get_translation(query, isEnglish, rt):
def add_translation(query, isEnglish, rt):
# 翻译结果
subtitle = '翻译结果'
translations = rt["translation"]
Expand All @@ -192,7 +198,7 @@ def get_translation(query, isEnglish, rt):
valid=True, icon=ICON_DEFAULT)


def get_phonetic(query, isEnglish, rt):
def add_phonetic(query, isEnglish, rt):
# 发音
if u'basic' in rt.keys():
if rt["basic"] != None:
Expand All @@ -212,7 +218,7 @@ def get_phonetic(query, isEnglish, rt):
valid=True, icon=ICON_PHONETIC)


def get_explains(query, isEnglish, rt):
def add_explains(query, isEnglish, rt):
# 简明释意
if u'basic' in rt.keys():
if rt["basic"] != None:
Expand All @@ -227,7 +233,7 @@ def get_explains(query, isEnglish, rt):
valid=True, icon=ICON_PHONETIC)


def get_web_translation(query, isEnglish, rt):
def add_web_translation(query, isEnglish, rt):
# 网络翻译
if u'web' in rt.keys():
if rt["web"] != None:
Expand All @@ -250,14 +256,13 @@ def get_web_translation(query, isEnglish, rt):


def main(wf):
if is_expired():
return

query = wf.args[0].strip()
if not isinstance(query, unicode):
query = query.decode('utf8')

if not query:
check_Update()
wf.send_feedback()

if query == "*":
get_history_data()
else:
Expand All @@ -274,10 +279,10 @@ def main(wf):

elif errorCode == "0":
isEnglish = is_English(query)
get_translation(query, isEnglish, rt)
get_phonetic(query, isEnglish, rt)
get_explains(query, isEnglish, rt)
get_web_translation(query, isEnglish, rt)
add_translation(query, isEnglish, rt)
add_phonetic(query, isEnglish, rt)
add_explains(query, isEnglish, rt)
add_web_translation(query, isEnglish, rt)

else:
title = '有道也翻译不出来了'
Expand All @@ -292,7 +297,7 @@ def main(wf):

if __name__ == '__main__':
wf = Workflow3(update_settings={
'github_slug': 'liszd/whyliam.workflows.youdao',
'github_slug': 'whyliam/whyliam.workflows.youdao',
'frequency': 7
})
sys.exit(wf.run(main))

0 comments on commit 4626ffa

Please sign in to comment.