将IRC日志转换为HTML
项目描述
将IRC日志文件转换为具有美观颜色的HTML。
快速开始
安装
pip install irclog2html
单个日志文件的快速使用
irclog2html --help irclog2html filename.log (produces filename.log.html)
日志的大规模转换(每天一个文件,文件名为YYYY-MM-DD),带有下一页/上一页链接,带有mtime检查,可由cron使用
logs2html directory/ (looks for *.log and *.log.gz, produces *.log.html)
配置文件
由于您可能不希望在每次运行logs2html时都指定相同的选项,因此可以创建一个配置文件。例如
-t 'IRC logs for #mychannel' -p 'IRC logs for #mychannel for ' # the following needs some extra Apache setup to enable the CGI/WSGI script --searchbox # where we keep the logs /full/path/to/directory/
使用方法
logs2html -c /path/to/mychannel.conf
以#开头的行将被忽略。其他行将解释为命令行选项。
顺序很重要:在-c FILE之前命令行上的选项将覆盖配置文件中的选项。在-c FILE之后指定的选项将覆盖配置文件中的选项。
您可以通过重复使用 -c FILE 来包含多个配置文件。您可以从其他配置文件中包含配置文件。您甚至可以创建配置文件的循环,然后疯狂地观察 logs2html 如何烧毁您的CPU。
日志搜索的CGI脚本
您可以通过将 --searchbox 选项传递给 logs2html 来在IRC日志页面上生成搜索框。以下是一个使它工作的Apache配置片段示例
RewriteRule ^/my-irclog/search/$ /my-irclog/search [R,L] ScriptAlias /my-irclog/search /usr/local/bin/irclogsearch <Location /my-irclog/search> SetEnv IRCLOG_LOCATION "/var/www/my-irclog/" # Uncomment the following if your log files use a different format #SetEnv IRCLOG_GLOB "*.log.????-??-??" # (this will also automatically handle *.log.????-??-??.gz) </Location>
日志服务的WSGI脚本
现在有一个实验性的WSGI脚本,可以在运行时生成日志的HTML。如果您不喜欢cron脚本和CGI,您可以使用它。
以下是一个示例Apache配置片段
WSGIScriptAlias /irclogs /usr/local/bin/irclogserver <Location /irclogs> SetEnv IRCLOG_LOCATION "/var/www/my-irclog/" # Uncomment the following if your log files use a different format #SetEnv IRCLOG_GLOB "*.log.????-??-??" # (this will also automatically handle *.log.????-??-??.gz) </Location>
目前它有一些缺点
配置非常有限,例如,您无法指定标题或样式或启用dircproxy模式
irc日志目录中的HTML文件将优先于动态生成的日志,即使它们比相应的日志文件旧(但好处是您可以使用它通过WSGI进行动态搜索,但请保留具有您自己配置调整的静态生成的HTML文件)
多频道日志服务的WSGI脚本
实验性的WSGI脚本可以为多个频道提供服务
WSGIScriptAlias /irclogs /usr/local/bin/irclogserver <Location /irclogs> SetEnv IRCLOG_CHAN_DIR "/var/www/my-irclog/" # Uncomment the following if your log files use a different format #SetEnv IRCLOG_GLOB "*.log.????-??-??" # (this will also automatically handle *.log.????-??-??.gz) </Location>
现在 /irclogs 将显示频道列表(位于 /var/www/my-irclog/ 的子目录中),而 /irclogs/channel/ 将显示该频道的日期索引。
杂项
网站:https://mg.pov.lt/irclog2html/
错误追踪器:https://github.com/mgedmin/irclog2html/issues
许可证:GPL v2 或 v3 (https://gnu.ac.cn/copyleft/gpl.html)
变更日志
3.0.0 (2023-08-28)
停止支持Python 2.7和3.6。
添加对Python 3.10和3.11的支持。
通过在链接中发出文件名,即使在最新的.html文件中,也使永久链接永久化。
添加 <meta name="viewport"> 以将初始缩放设置为1,从而改进移动体验(《PR 32》)。
支持由 ii (Irc it) 创建的日志文件((《PR 33》)。
2.17.3 (2021-07-08)
添加对Python 3.8和3.9的支持。
停止支持Python 3.5。
修复了一个问题,其中在指定 -output-dir (-o) 给 logs2html 时,如果它们存在于源目录中,则会错误地跳过生成一些HTML文件(《问题 29》)。
2.17.2 (2019-04-23)
停止支持Python 3.4。
2.17.1 (2018-11-25)
添加对Python 3.7的支持。
停止支持Python 3.3。
支持 python -m irclog2html 作为 python -m irclog2html.irclog2html 的快捷方式。
让 irclogserver 忽略隐藏目录(例如 .git)。
2.17.0 (2018-02-21)
支持使用Unix时间戳的 ii 日志(《https://github.com/mgedmin/irclog2html/pull/21》)。Cédric Krier的拉取请求。
2.16.0 (2017-12-20)
支持Python 3.6。
修复了由于HTML id锚点演变成长形式(如“t22:24:49-2-3-4-5-6-7-8-9-10”)而导致重复行的问题,而不是“t22:24:49-10”,导致某些情况下输出文件大小显著增长。
向 logs2html 添加 -output-dir (-o) 参数,以便您可以将生成的HTML文件放置在不同于输入目录的目录中(《PR #20》)。
2.15.3 (2016-12-08)
在某些情况下,消息的一部分(直到最后一个‘>’)可能会丢失(《https://github.com/mgedmin/irclog2html/issues/19》)。
2.15.2 (2016-10-07)
irclogserver 频道列表现在分为旧频道和活动频道,通过检查目录修改日期是否比7天新或旧来检测。
二级标题现在与一级标题具有相同的颜色。
irclogserver 在URL中省略通道名后面的 / 后不再显示404错误。
2.15.1 (2016-09-25)
具有相同时间戳的行现在获得不同的HTML锚点 (https://github.com/mgedmin/irclog2html/issues/17)。感谢Bryan Bishop提供的原始pull请求。
2.15.0 (2016-09-25)
有一个新的 irclogserver 脚本,可以用于提供动态生成的IRC日志和执行搜索。它也可以通过WSGI部署。部分贡献由Albertas Agejevas提供 (https://github.com/mgedmin/irclog2html/pull/9)。
索引页面按月份分组日志 (https://github.com/mgedmin/irclog2html/issues/12)。
停止支持Python 2.6。
2.14.0 (2014-12-12)
添加 -o 选项以指定输出文件名。补丁由Moises Silva提供 (https://github.com/mgedmin/irclog2html/pull/7)。
2.13.1 (2014-02-01)
添加对Windows的支持(例如,避免创建最新的.log.html符号链接)。
2.13.0 (2013-12-18)
透明地处理gzip文件 (https://github.com/mgedmin/irclog2html/issues/5)。
2.12.1 (2013-03-22)
修复irclogsearch在Python 2.7中的AttributeError (https://github.com/mgedmin/irclog2html/issues/1)。
2.12.0 (2013-03-18)
迁移到Github。
添加对Python 3.3的支持。
停止支持Python 2.4和2.5。
修复URL链接器,使其不包含尾随标点符号(LP#1155906)。
2.11.1 (2013-03-17)
logs2html也接受包含YYYYMMDD日期的文件名(除YYYY-MM-DD外)。补丁由Holger Just提供。修复LP#1031642。
2.11.0 (2012-07-30)
irclogsearch可以通过环境变量告知日志文件的文件名模式(IRCLOG_GLOB)。补丁由Jonathan Kinred提供。
2.10.0 (2012-02-12)
新选项:–glob-pattern。补丁由Albertas Agejevas提供。修复LP#912310。
日志中的链接用rel="nofollow"标记。补丁由Matt Wheeler提供。修复LP#914553。
新选项:–version。
新选项:-c,–config=FILE。
2.9.2 (2011-01-16)
支持XChat拉丁/Unicode混合编码 (http://xchat.org/encoding/)。修复LP#703622。
irclog2html将irclog.css文件复制到目标目录。修复LP#608727。
2.9.1 (2010-08-06)
确保irclog.css安装在正确的地方;logs2html需要它。
2.9 (2010-08-06)
重构源代码树,将irclogs2html转换为包,添加setup.py,buildout.cfg,bootstrap.py,Makefile,HACKING.txt;将旧端口测试套件移动到子目录(porting)。
logs2html将irclog.css文件复制到目标目录。
发布到PyPI。
2.8 (2010-07-22)
添加README.txt和CHANGES.txt。
支持dircproxy日志文件(新的日期格式:“[15 Jan 08:42]”,从昵称中删除标识符和IP地址)。补丁由Paul Frields提供。
新选项:–dircproxy还使irclog2html从消息中删除单个前导“+”或“-”。
2.7.1 (2009-04-30)
logs2html.py中的错误报告存在错误,由Ondrej Baudys报告。
2.7 (2008-06-10)
新样式:mediawiki。补丁由Ian Weller提供。
2.6 (2007-10-30)
支持另一种日期格式(Oct 17 10:53:26)。补丁由Matthew Barnes提供。
2.5.1 (2007-03-22)
logs2html.py:添加指向最新日志文件的稳定链接(由Chris Foster建议)。
2.5 (2007-01-22)
新选项:–searchbox。
搜索CGI脚本改进(例如,将最新匹配项放在顶部)。
2.4 (2006-12-11)
添加了一个用于暴力搜索日志的示例CGI脚本。
2.3 (2005-03-08)
默认使用xhtmltable样式。
在底部添加了navbar的副本。
2.2 (2005-02-04)
支持supybot的ChannelLogger日期格式(例如,02-Feb-2004)。
修复了xhtml/xhtmltable样式中的损坏的时间戳超链接。
CSS调整。
2.1mg(2005-01-09)
将irclog2html.pl版本2.1由Jeff Waugh从Perl转换为Python。
新样式:xhtml,xhtmltable。
新选项:–title,–{prev,index,next}-{url,title}
移除了jdub,cantaker和chuckd的硬编码昵称颜色首选项。
错误修复:颜色在昵称更改之间保留(irclog2html.pl试图这样做,但正则表达式中有一个错误)。
添加了对ISO8601时间戳的支持(例如,2005-01-09T12:43:11)。
更仔细地执行URL链接化(停止在“,”,““,“)”和“>”处)。
添加了logs2html.py脚本来进行日志的大规模转换。
添加了对xchat日志文件的支持。
添加了 xchatlogsplit.py 脚本,用于按日边界分割 xchat 日志,使其适合作为 logs2html.py 的输入。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
irclog2html-3.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 840cce2423c392ef516acd6d4fcef2c282fd04d80dad8b20bc05359891d6db07 |
|
MD5 | d66eb17805eb709f950a8aaa9171f473 |
|
BLAKE2b-256 | 7bac630c9d6b61a86999c2437b71069eaa4667ed5a35e8bb2497863fc0d6c038 |
irclog2html-3.0.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5f05f613fac70090f3372addcfc28369bc21741e29c71dfa83f15c90032a81a9 |
|
MD5 | a5b7a023c22e7606bfa94a7b963bb8e3 |
|
BLAKE2b-256 | 1f0ae93cce2a9c3207b5fcd99aaeacb8c64c8bac1cd4d3b54c18c3a114a45d0c |