用py写过一个词典的程序
后台py的程序 调用dict.cn的接口查询数据
前台程序是个html application (hta)程序
前台程序代码:<html>
<script>
//设置窗口的大小和位置(优先执行)
var w,h;
w = h = 300;
//大小
window.resizeTo(w,h);
//位置(屏幕中心)
window.moveTo((screen.width-w)/2,(screen.height-h)/2);
</script>
<script src="jquery.min.js"></script>
<head>
<hta:application
applicationname="minusdict"
id=mydict
contextmenu="no"
border="dialog"
innerborder="no"
icon="minus.ico"
windowstate="normal"
maximizebutton="no"
minimizebutton="yes"
singleinstance="yes"
scroll="no"
/>
<title>MinusDict</title>
<script>
var cmdline;
var flag;
var temp;
//获取命令行参数并判断
window.onload = function ()
{
cmdline = mydict.commandLine;
temp = cmdline.split(' ');
flag = temp[temp.length-1];
if(flag.length==0)
{
//显示查询页面
}
else
{
temp = parseInt(flag);
if(!temp)
{
//查询单词
QueryWord(flag);
}
else
{
//为数字命令
}
}
}
function QueryWord(words)
{
//查询单词 后台程序(python)执行所有操作(判断数据库中是否存在记录 从web获取数据 添加数据库),返回查询结果
var url="http://localhost/cgi-bin/minus.py/dict";
$.ajax({type:"post",url:url,async:false,data:{word:words},success:function (data, textStatus)
{
document.title = 'MinusDict -- ' + flag;
$("#txtResult").html(data);
}});
}
</script>
<style>
body{padding:0;margin:0;background:url("mydictbg.jpg");}
.txtResult{margin-left:90px;overflow:hidden;border:2px dashed orange;}
</style>
</head>
<body>
<textarea class="txtResult" id="txtResult" cols="28" rows="2" readonly="true"></textarea>
</body>
</html>
后台程序代码:from urllib import urlencode
from urllib import quote
import urllib
import json
print 'a'
def Handler():
return 'a'
def reg(req,name='default',email='default',comment='default'):
s = '<html>name:'+'<b>'+name+'</b><br />' + 'email:'+'<b>'+email+'</b><br />' + 'comment:'+'<b>'+comment+'</b></html>'
return s
def dict(req,word='minus'):
callback = 'jQuery18306214329891372472_1356877394912'
url = 'http://dict.cn/apis/suggestion.php?callback='+callback+'&q='+word+'&dict=dict&s=dict'
page = urllib.urlopen(url)
jsondata = page.read().replace(callback,'').strip()
jsondata = jsondata[1:len(jsondata)-2]
decodejson = json.loads(jsondata)
result = decodejson['s'][0]['e']
exec "result=u'" + result + "'"
return result.encode('utf-8')
|