3 import gtvg_programmeinfo
, gtvg_utils
5 XMLTV_DATETIME_FORMAT
= "%Y%m%d%H%M%S"
9 def __init__( self
, callback
):
11 self
.callback
= callback
18 def parse_time( self
, xmltv_time
):
19 # TODO: handle XMLTV time zones
20 return gtvg_utils
.parse_datetime( xmltv_time
[:14],
21 XMLTV_DATETIME_FORMAT
)
23 def startElement( self
, name
, attrs
):
24 if name
== "programme":
26 self
.startTime
= self
.parse_time( attrs
['start'] )
28 self
.endTime
= self
.parse_time( attrs
['stop'] )
29 if "channel" in attrs
:
30 self
.channel
= attrs
['channel']
32 def endElement( self
, name
):
33 self
.chars
= self
.chars
.strip()
35 self
.title
= self
.chars
37 self
.desc
= self
.chars
38 elif name
== "programme" and self
.title
!= None:
40 pi
= gtvg_programmeinfo
.ProgrammeInfo()
42 pi
.description
= self
.desc
43 pi
.channel
= self
.channel
44 pi
.startTime
= self
.startTime
45 pi
.endTime
= self
.endTime
56 def characters( self
, data
):