3月 31

[转载]tornado判断登录和操作权限(装饰器)

判断是否有操作权限

def with_permission(permission):
''''''
 
def _decorator(method):
''''''
@functools.wraps(method)
def wrapper(self, *args, **kwargs):
''''''
user = self.current_user # 这里判断用户是否存在(登录)
if not user:
self.set_status(404)
return
 
if permission in user.permission_list: # 判断用户是否有足够的权限
method(self, *args, **kwargs)
else:
data = {"error": "need permission:%s" % permission}
self.write_json(data, status=403)
return wrapper
return _decorator

转载地址:https://www.bbsmax.com/A/x9J2DbAWd6/

2月 24

esp8266做AP启动WEB服务器控制led

配置ap。

代码部分,保存为main.py上传到板子上,重启。

esp8266we控制led源码

连接ap,用浏览器登录192.168.4.1:8888端口


控制led成功。

2月 18

raspberry pi2 安装pyqt 实验

需求:用raspberry做主机,linux操作系统。连接显示器,展示宣传内容,定时刷新。
使用的设备是raspberry pi2 B+ ,python2.7,使用pyqt4做图形化界面。最初本来想用自带的tk,但是不能嵌入web浏览器。如果调用操作系统的浏览器,如果将来要放大、屏蔽按钮等等扩展就不方便了。

首先安装PyQt4开发包
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-dev
$ sudo apt-get install qt4-dev-tools

下载并安装SIP
$ wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.17/sip-4.17.tar.gz
$ tar vxf sip-4.17.tar.gz
$ cd sip-4.17
$ python configure.py
$ make all
$ sudo make install
下载安装PyQt4
$ wget https://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/PyQt-x11-gpl-4.11.4.tar.gz
$ tar vxf PyQt-x11-gpl-4.11.4.tar.gz
$ cd PyQt-x11-gpl-4.11.4
$ python configure.py
$ make all # 耗时real 113m20.864s
$ sudo make install

python代码

测试:再Linux桌面下在控制台输入

显示正常,需要展示的内容做html页面就可以了。自动刷新部分也写在页面里,一分钟刷新一次。将

放在页面head里面。

随桌面自动带起来。编辑桌面启动的账户下配置.profile

最终效果
pyqt4刷新

官方pyqt5不支持python2了,只能用python3,但是本人一直在用python2。所以也编译了一下PyQt5做测试。
$ sudo apt-get install qt5-default
两个包地址如下,安装编译方法和上面相同
http://downloads.sourceforge.net/project/pyqt/sip/sip-4.17/sip-4.17.tar.gz
https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.5.1/PyQt-gpl-5.5.1.tar.gz
编译耗时 120m40.725s

简单测试正常。估计细节还是会有问题。如果要用pyqt5还是直接用python3比较好。此处只为测试。

4月 10

debian7安装virtualbox

debian7 操作系统64位,安装virtualbox非常简单命令如下。
echo “deb http://download.virtualbox.org/virtualbox/debian wheezy contrib” >> /etc/apt/sources.list.d/virtualbox.list
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- |apt-key add –
apt-get update
apt-get install virtualbox virtualbox-dkms

可以用命令行操作,但是有点麻烦,使用到图形化界面很简单。在安装一个Vncserver,直接图形化管理即可。
如果要使用命令行管理,可以查询vboxmanage等以vbox开头的命令。