更新程序的步骤:

1,在控制面板里点击备份当前数据库文件到磁盘,把当天获取的信息从内存写到磁盘/存储卡。
2,下载最新版的源码

wget -O "infopi.zip" "https://github.com/animalize/infopi/archive/master.zip"

3,解压源码,出提示后输入A覆盖所有文件

unzip infopi.zip

4,sudo reboot重启系统

备注:

如果是2016.07.20以前安装的,且使用了regex模块,需要升级regex模块,升级方法见下文。

如果是2015.05.09以前安装的,请注意解压出来的目录名有变,从infopi/改名为infopi-master/,可照此文重新部署一番。注意备份cfg目录和database目录。

如果是2014.10.28以前安装的,需要安装tornado模块,安装方法见下文。

2017.1.26a

新增list_callback回调代码,整个列表作为infos变量传入list_callback。

callback代码:新增便利函数funcs.datetime(),返回当前日期时间的一个NamedTuple。

2017.1.18a

callback代码:使用一个funcs对象汇总所有便利函数,如:funcs.hasher、funcs.unixtime。注:旧的方式将仍然可用。

callback代码:新增两个便利函数,见此文callback部分的表格:

  1. funcs.resub,用正则表达式的替换功能处理字符串。
  2. funcs.research,用正则表达式在字符串中查找,找到返回True,没找到返回False。

给信息源增加max_len、max_db字段,分别用于控制:获取条数、数据库保留条数,见此文

这些worker(html_re、html_json、rss_atom)会删除文本中的U+200B(零宽空格),确保正常处理新浪微博。

2016.12.17

Python 3.6.0的sqlite3模块有bug,改动程序使之能在Python 3.6.0运行。

html_re可以捕获内容到temp属性,这和html_json保持一致。

子信息源可以不指定worker,此时使用父信息源的worker。

增强test_source.py的功能。

电脑版页面的左侧目录,每隔5分钟用ajax显示异常数。

版块信息页面,使用ajax提交刷新信息。

增加一个紧凑数据库主键的小工具。基本没用,只是防备出现极端情况。

2016.07.20

重新加载配置时,不再获取所有信息源,仅获取新增、修改过、刷新间隔改变的信息源。

重新加载配置时,不再读取sqlite3数据库。

在版块信息页面,可以刷新一个版块的信息源。

改进PAD版、手机版的配色。

改进编码字典。

如果使用了regex模块(新的正则表达式引擎),现在要求regex版本不小于2016.07.14,Linux下用此命令升级regex模块:

sudo pip3.4 install -U regex

Windows下用此命令升级regex模块:

pip install -U regex

2016.04.07

增加一个worker:html_re_rev,用法和html_re完全相同,最终获得一个逆顺序的html_re列表。

修复:极小概率下rss_atom解析XML文件失败。

改善:信息源出错时的流程处理及提示信息。

2015.12.27

优先使用regex(Version 1模式)作为正则表达式引擎。详见此文的regex模块介绍。

listall显示最后一条信息的获取时间,用于筛查长久没更新的信息源。

2015.10.31d

新增一个用户选项:不在列表里显示异常信息,防止用户被频繁的异常信息打扰。用法见演示配置文件的admin.txt。

手机版、大屏手机版:如果有异常信息,在版块目录显示一个链接,可跳转查看。

改进“web端异常记录文件”的显示,并可清空已有记录。

记录不正常的登录信息到“web端异常记录文件”,提醒有黑客暴力试探密码。

2015.09.20

关闭wz_tooltip.js的调试模式。

优先使用cchardet模块做编码检测。先尝试import cchardet,再尝试import chardet。

(cchardet比以前的chardet性能更快、占用内存更小。需要另外安装,见此文

2015.08.15a

用户配置里的刷新时间,可以进行四则运算,比如24 * 7表示刷新间隔为7天,10 / 60则表示10分钟。

pad版、大屏手机版不再使用交替的背景颜色。

2015.07.29

改进html_json,更全面的用法见演示配置里的park:yuanby。

在管理员的控制面板可单独刷新异常信息源。

简易PAD版改为大屏手机版,并可设置每页显示数目,设置方法见演示配置。

调整网页tooltip的配色。

防止内容过长把html表格撑开。

2015.07.16

增加一个worker:html_json,用于从json提取信息。用法类似于html_re,见演示配置里的book:sinashuxun。

callback回调代码增加unixtime(string)函数,用于把unix时间戳转化为日期时间字符串。

可以单独刷新指定信息源。

2015.07.10a

信息源可以从父信息源继承callback代码。

普通账号的控制面板,不再显示程序启动时间和配置加载时间。

修正worker的两个decorator,自定义worker时可以复用已有worker的函数。

加上简易pad版的链接。

callback回调代码增加hasher(string)函数,用于计算字符串的散列值,返回一个散列值的字符串。

2015.06.26d

增加PAD版页面。

(可以设置PAD版每页显示的信息数目,详见/document/demo_cfg.zip里的config.ini和admin.txt)

(想调整字体大小,在pad.html里修改body{-webkit-text-size-adjust的两个值,但不是对所有浏览器都有效)

还增加了一个简易PAD版(大屏手机也可用),但没加链接,登录后访问http://127.0.0.1:5000/p即可。

callback函数增加posi变量,详见此文

listall.html显示共有多少用户。

半年(180天)前的获取时间显示为“年-月-日”。

异常信息前面显示一个e以示区分。

修复6月引入的一个bug:无法保存web端异常记录文件。

2015.06.12a

增加:“挂起”。挂起之后,后端进程的定时器不再执行任何任务,用户只能进行web浏览。

增加:“数据库维护间隔时间”。适用于在电力不稳定的环境下使用tmpfs。

(以上两点的用法详见document/demo_cfg.zip里的config.ini)

增强:大大改进编码检测

增加:用户配置里,刷新时隔允许用小数(单位小时)

增加:weberr.txt里记录超时的任务

2015.06.06

增加:以https协议运行web服务器

增加:查看信息源的“最近有效刷新时间”

优化:异常信息的显示

增强:内部处理数据时使用令牌

polish

2015.06.01

增加“手动执行数据库每日维护”

polish

2015.05.25a

每日数据库维护时,增加删除每个信息源的多于一定数目的旧信息。(详见演示配置的config.ini)

更新演示配置demo_cfg.zip

优化html

2015.05.23

信息源的<url>标签支持errors属性,用法和Python解码的errors参数相同:

<url errors='strict'> 这是默认值,表示对解码错误零容忍,将引发一个异常

<url errors='ignore'> 忽略解码错误

<url errors='replace'> 解码出错时用?替换

2015.05.10a

新增:查看全部启用的信息源

修正:当database目录中无数据库文件、并且当前数据库没有改变时,不会备份到磁盘。

细微优化

2015.02.24

改进:解文本编码时的异常处理

2015.01.25

增强获取数据时的健壮性

2015.01.22a

修正:小概率情况下web端出现异常

其它:优化性能

2015.01.14

公共账号、普通账号也显示异常信息

2014.12.12

一些细微修改

2014.11.19

修正:显示的刷新间隔可能有误

修正:处理异常信息时可能出错

2014.11.08

修正:错误地处理异常信息。这个错误已经影响到正常使用了,真抱歉。

2014.11.06

一堆小改进

2014.10.31

修正:每月最后一天载入配置会出错

2014.10.28

使用tornado代替flask内置的wsgi服务器,据文档描述后者可用于开发调试、但不适合用在最终产品里。

以前InfoPi偶尔出现无法响应http请求的现象、只能重启系统,换成tornado后这个问题被解决了。

这次升级需要安装tornado,在linux下安装tornado的命令:

sudo pip3.4 install tornado

在windows下安装tornado的命令:

pip install tornado

2014.10.21

增强载入信息源定义时的编码检测能力

修改了html界面

2014.10.18

html_re增加自动拼接url的选项urljoin

(给maprules的url元素加上urljoin='true'属性即可自动拼接url)

2014.10.15

1、再修正:去除重复suid时的bug

2、修正:执行任务列表可能不完全

2014.10.14a

1、修正:去除重复suid时的bug

2、限制一段时间内的登录尝试次数,防止暴力试探密码。

3、整理控制面板页面

2014.10.8

rss_atom默认使用source.name作为信息的author,这个行为与html_re一致。

rss_atom增加use_feed_author选项,可以使用item自身提供的出处作为author,适用于聚合类的feed。

2014.10.6

fetcher可以下载deflate压缩的网页

2014.10.5

1、如果安装了第三方模块lxml,可以解析一些有缺陷的xml文件。

安装第三方模块的方法见此文:http://www.cnblogs.com/infopi/p/4007089.html

2、fetcher可以下载重定向时要求cookies的网络文件。

2014.10.3

如果安装了第三方模块chardet,可以自动检测网页编码

2014.10.1

修正:无法获取atom的链接

更新日志(建议升级到2017.1.18a) && 更新程序的方法的更多相关文章

  1. 更新日志(建议升级到2016.12.17) && 更新程序的方法

    更新程序的方法: 1,在控制面板里点击备份当前数据库文件到磁盘,把当天获取的信息从内存写到磁盘/存储卡.2,下载最新版的源码 wget -O "infopi.zip" " ...

  2. Easy Sysprep更新日志-skyfree大神

    Easy Sysprep更新日志: Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&t ...

  3. [转] OpenStack Kilo 更新日志

    OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录  [隐藏] ...

  4. 【更新日志】售后CP更新日志

    记录一下: [售后CP更新日志] ============================================ 更新时间:[-- :] 更新内容: .版本升级,框架升级,框架升级版本3. ...

  5. 【紧急】继续折腾,Log4j再发2.1.6,强烈建议升级

    背景 继前天正式发布的2.15.0之后,Apache log4j 2 团队宣布 Log4j 2.16.0 发布! 由于SLF4J适配兼容性的中断,Log4j 现在发布两个版本的SLF4J to Log ...

  6. AgileEAS.NET SOA中间件平台更新日志 2015-04-28

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  7. 更新日志 - fir.im 新版优化上线

    经过这段时间的用户反馈收集和新版本的功能调研,我们对 fir.im Rio 上传下载.应用管理再次做了调整优化.感谢之前内测用户的反馈与建议.目前 fir.im Rio 新版已正式上线,主要优化有以下 ...

  8. 更新日志 - BugHD 全面开放 API 文档

    Hey, 上周 BugHD 全面更新 API 文档,上线一些新的功能,让你可以轻松掌控 Crash ,更方便分享.定位和解决.同时,新版 fir.im 也有所优化,希望你们会喜欢. 具体如下: 开放 ...

  9. syslog-ng 3.4.3 发布,强烈建议升级 - 开源中国社区

    syslog-ng 3.4.3 发布,强烈建议升级 - 开源中国社区 syslog-ng 3.4.3 发布,强烈建议升级    oschina 发布于: 2013年08月16日 (2评)    分享到 ...

随机推荐

  1. POJ3208魔鬼数

    题目:http://poj.org/problem?id=3208 与一般的数位dp有点不同的是,没有给出上界,而是要通过值来判断这一位该填什么. 当然是从高位向低位填. 为了知道这一位填下去对答案有 ...

  2. IE8下部分方法失效的解决方法

    1.IE8下String的Trim()方法失效的解决方法 用jquery的trim()方法,$.trim(str)就可以了: 例:_id.trim() !='' 改为  $.trim(_id) != ...

  3. Angular 4 路由介绍

    Angular 4 路由 1. 创建工程 ng new router --routing 2. 创建home和product组件 ng g component home ng g component ...

  4. Maven 私服 Nexus 权限控制

    Nexus 用户 Nexus 预定义了三个用户,这三个用户对应了三个权限级别: admin:该用户拥有对Nexus服务的完全控制,默认密码为 admin123,以下为admin用户的角色树 deplo ...

  5. AngularJS+ThinkPHP实例教程

    总体思路 thinkphp通过RESTful方式提供数据给angular,前端(包括模板页面)全部由angular来接管. 示例 实现一个用户管理模块,走通增删改查4个操作,通过该示例,演示如何在th ...

  6. mac的framework的路径

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/S ...

  7. java study3

    面向过程与面向对象 面向过程:必须了解整个过程,每个步骤互成因果关系,每个因果关系都构成一个步骤,多个步骤就构成了一个系统.因为存在因果关系,每隔步骤难以分离,非常紧密,当任何一步出现问题,将会影响到 ...

  8. Java 默认事务级别read committed对binlog_format的需求

    转载: java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_ ...

  9. 1036 Boys vs Girls (25 分)

    1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade of ...

  10. 如何在CentOS中添加Swap

    1.检查 Swap 空间 在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件.运行以下命令: 1 swapon -s 如果返回的信息概要是空的,则表示 Swap 文件不存在 ...