用于读写xmltv文件的python模块

python-xmltv的Python项目详细描述


python xmltv是一个python模块,提供对xmltv数据的访问。xml tv是用于存储电视节目表的xml格式。


有关xmltv的更多信息,请访问http://membled.com/work/apps/xmltv/



对于旧版本,
elementtree是必需的,可以在
http://efffot.org/zone/element index.htm



usage
----
模块的用法通常是直接的:


import xmltv
from pprint import pprint

区域设置:
xmltv.locale='Latin-1'

等)
pprint(xmltv.read廑data(open(filename,'r')))

pprint(xmltv.read廑channels(open(filename,'r'))


pprint(xmltv.read廑programs(open(filename,'r'))

应该使用:

**读取数据**``(文件对象)->;dict``
从xmltv文件获取源和其他信息。

返回一个包含<;tv>;属性的字典,例如:

{date':u'20030702230041-0300',
"生成器信息名称":u'tv-grab'nav3.20030629,
"生成器信息URL":u'http://sourceforge.net/projects/xmltv',
"源信息名称":u'zap2it',
"源信息URL":u'http://www.zap2it.com'}

**读取频道**```(文件对象)->;列出`
获取所有频道。

返回散列列表,每个散列代表一个通道,例如:

[{display-name':[(u'channel 10 eltv',u')],
'id':u'c10eltv.zap2it.com'},
{display-name':[(u'channel 11 cbht',u')],
'icon':[{desc':',"src":u'http://tvlistings2.zap2it.com/tms_network_logos/cbc.gif'},
"id":u'c11cbht.zap2it.com'}]


**读取程序**````(文件对象)->;list`
获取所有程序。

返回一个散列列表,每个散列代表一个程序,例如::

[{Audio':[{Stereo':[u'Stereo']},
类别:[(u'biz',u'),(u'fin',u')],
频道:u'c23robtv.zap2it.com,
开始:u'200307020000adt',
停止:u'20030702003003000 adt',
标题:[(u'this week in business',u')]},
{‘音频’:[{‘立体声’:[u‘立体声’]},
‘频道’:u'c36wuhf.zap2it.com,
‘描述’:[(为了长大,乔治向前女友苏珊求婚,
‘u’)],
‘评分’:[{‘系统’:u'vchip,'value':u'pg'},
"开始":u'200307020000adt',
"停止":u'20030702003000 adt',
"子标题":[(u'the engagement,u')],
"副标题":[{'type':u'teletext'}],
"标题":[(u'seinfeld,u')]]

还有一个writer类。它应该始终写入正确的xmltv数据。所有
字符串(字典键除外)都应使用Unicode。

它包含以下方法:


**返回writer对象。

参数:

``fp`
要将xmltv数据写入

``encoding`
要使用的文本编码的文件对象。*默认为生成此数据的日期。*可选*

``soURCE INFO URL``
有关数据源的信息的URL。*可选的*

``源信息名称`
`源信息url```的可读描述。
*可选的*

``生成器信息url`
生成
xmltv文档的程序信息的url。*可选的*

``生成器信息名称`
对``generator信息URL````的可读描述。
*可选的*

**编写通道````(通道)`
编写通道字典

这里有一个示例通道字典::

{'display-name':[(u'channel 11 cbht,u'en')],
'icon':[{'src':u'http://tvlistings2.zap2it.com/tms_network_logos/cbc.gif'},
'id':u'c11cbbht.zap2it.com',
'url':u:'http://www.cbc.com'}

**编写程序**``(程序)`
节目字典

这里有一个示例节目字典::

{audio':[{stereore':u'stereore'}],
'category':[(u'comedy',u')],
'channel':u'c36wuhf.zap2it.com',
'country':[(u'usa',u')],
'credits':[{producer':[u'larry david'],'actor':[u'jerry seinfeld']],
date':[u'1995',
'desc':[(为了长大,乔治向前女友susan求婚,
u'),
'sception num':[(u'7)。1。1/1',u'xmltv'ns'),
语言:[(u'english,u'),
最后机会:[(u'hah!',u"")],
"长度":[{"单位":u"分钟","长度":22}],
"新建":[1],
"原始语言":[(u"英语",u"")],
"首映式":[(u"不是真的"。只是测试,'u'en')],
"先前显示的":[{'channel':u'c12whdh.zap2it.com',
"开始":u'19950921103000 adt'}],
"评分":[{'icon':[{'height':u'64',
"src":u'http://some.ratings/pg icon.png',
"width":u'64'}],
"system":u'vchip',
"value":u'pg'}],
"star rating":[{"icon":[{"height":u'32',
"src":u'http://some.star/icon.png',
"width":u'32'}],
"value":u'4/5'}],
"start":u'2003070200000adt',
"stop":u'20030702003000 adt',
'子标题':[(u'the engagement,u')],
'副标题':[{'type':u'teletext','language':(u'english,u')}],
'标题':[(u'seinfeld,u')],
'视频':[{'colour':1,'aspect':u'4:3',"present":1}}


**end**``()`
write end tag





changelog
=(jan su_nik的补丁)


1.4.1版
----
*更新了manifest.in以包含所有文档文件


1.4版
----
*更新以反映当前的xmltv dtd(igor sobolev的补丁)
*清理pypi版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将UDP消息从桌面发送到移动设备?   java DefaultMessageListenerContainer使用JMX+ActiveMQ在单个队列上管理多个使用者   java CMU Sphinx:Voxforge德国型号不精确   java生成一个定制的lastIndexOf方法   java生成pdf PDFBox无头docker容器失败   java实例化HashMap中存储的类的实例   java将JAAS表单身份验证传递给REST服务   爪哇:Tomcat。伊奥。IOException:无法创建目标“xxx”目录“   java GoogleTokenResponse未执行。。!   java Lastmodified标头在第二次刷新后不工作   java Android onClickListener没有注册点击(我想)   当引导调用远程模式时,不会加载java Google reCaptcha   java将二进制字符串转换为字节数组   java为JPA本机查询的结果分配ID的最简单方法是什么?   java上的数组参数行为   组织中的java字段数据源。O7计划。关于公司。MainController需要“javax”类型的bean。sql。找不到“数据源”   java如何使用selenium在excel文件中查找字符串的位置   java Hibernate注释。如何注释?   在Java中反转字符串时出错