利用 Translate ToolKit 2.5.0 API 构建 Flask web app
Translate ToolKit 2.5.0 API 是一个用于翻译行业的文档转换工具。例如将json或者html等转换成PO文件以供翻译使用。这里使用Flask web框架来实现Translate ToolKit api的基本功能。
这是前几天的一个笔试,要求三天内利用api实现一个webApp,我在半睡半醒的“弥留之际”(这一阵子实在精神不佳)完成了这个任务,(虽然笔试没有后续,依旧没有工作~ 好了不废话,进入正题。
项目在我的github https://github.com/finch-xu/f-tt 方便下载查看
0. 环境:
Ubuntu18.04
Flask 1.1.1
Python 3.7
uWSGI
Nginx
Python3环境下 pip install flask translate-toolkit uwsgi等
1. 功能实现:
这个api主要是一个转换器功能,和附带了一些工具类,这里简单实现了txt文件转po文件,json文件转po文件,po文件的综合数据统计 这三个功能。
1.a. txt/json转po文件是分别调用txt2po/json2po,来看看API文档是怎么写的:
这里打open文件,然后调用txt2po,他的内部原理包含了readlines方法还有其他的split判断方式。
1.b. Tools里这里实现一个count功能,统计文档的段落数,字符数,翻译完成度等信息。
这里调用的pocount.calcstats_old(),查看源码
所以我们直接调用,然后返回给前端一个字典
前端拿到字典,提取出来需要的数据就好了
2. 这里再PYCharm调试启动,对了整体项目上传到了我的github https://github.com/finch-xu/f-tt
这里需要注意项目暂时只写了上传utf8文件的实现,如果项目中上传gbk等其他编码文件就会遇到报错。如果有中文,请将文件转换为utf8的中文。(notepad++点一下即可转换,自行百度)
这时候打开浏览器就会发现web了
3. 部署到生产环境
使用Nginx监听uWSGI来运行python web app。首先编写uwsgi.ini配置文件。把项目上传到ubuntu安装uwsgi和nginx后,这里要注意,如果ubuntu里同时有python2.7和python3,那么配置文件里要写成成python3,如果只有python3,那么默认写成python就好了,毕竟项目是Python3.7写的。
这里设置本地622端口供nginx监听使用
修改nginx配置文件
启动项目,如果遇到500系列报错,可以查看如下目录下的log,一般会提示权限不足(sudo解决之)或者重复启动之类的,或者Python项目本身的一些报错,总之log写的很清楚
其他的文件上传下载和其他的功能参考我的GitHub内容即可。
大功告成!
版权声明: 本文为 InfoQ 作者【虚拟世界的懒猫】的原创文章。
原文链接:【http://xie.infoq.cn/article/76a197a41d93f76167c4492b9】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论