1.1.0
This commit is contained in:
parent
5227d356dd
commit
579962423b
21
epg2xml.py
21
epg2xml.py
@ -16,7 +16,7 @@ import argparse
|
|||||||
reload(sys)
|
reload(sys)
|
||||||
sys.setdefaultencoding('utf-8')
|
sys.setdefaultencoding('utf-8')
|
||||||
|
|
||||||
__version__ = '1.0.9'
|
__version__ = '1.1.0'
|
||||||
|
|
||||||
# Set My Configuration
|
# Set My Configuration
|
||||||
default_icon_url = '' # TV channel icon url (ex : http://www.example.com/Channels)
|
default_icon_url = '' # TV channel icon url (ex : http://www.example.com/Channels)
|
||||||
@ -33,6 +33,9 @@ ua = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36
|
|||||||
CHANNEL_ERROR = ' 존재하지 않는 채널입니다.'
|
CHANNEL_ERROR = ' 존재하지 않는 채널입니다.'
|
||||||
CONTENT_ERROR = ' EPG 정보가 없습니다.'
|
CONTENT_ERROR = ' EPG 정보가 없습니다.'
|
||||||
HTTP_ERROR = ' EPG 정보를 가져오는데 문제가 있습니다.'
|
HTTP_ERROR = ' EPG 정보를 가져오는데 문제가 있습니다.'
|
||||||
|
SOCKET_ERROR = 'xmltv.sock 파일을 찾을 수 없습니다.'
|
||||||
|
JSON_FILE_ERROR = 'Channel.json 파일을 읽을 수 없습니다.'
|
||||||
|
JSON_SYNTAX_ERROR = 'Channel.json 파일 형식이 잘못되었습니다.'
|
||||||
|
|
||||||
# Get epg data
|
# Get epg data
|
||||||
def getEpg():
|
def getEpg():
|
||||||
@ -43,16 +46,15 @@ def getEpg():
|
|||||||
with open(Channelfile) as f: # Read Channel Information file
|
with open(Channelfile) as f: # Read Channel Information file
|
||||||
Channeldatas = json.load(f)
|
Channeldatas = json.load(f)
|
||||||
except EnvironmentError:
|
except EnvironmentError:
|
||||||
printError('Channel.json 파일을 읽을 수 없습니다.')
|
printError(JSON_FILE_ERROR)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
except ValueError:
|
except ValueError:
|
||||||
printError('Channel.json 파일 형식이 잘못되었습니다.')
|
printError(JSON_SYNTAX_ERROR)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
||||||
print('<?xml version="1.0" encoding="UTF-8"?>')
|
print('<?xml version="1.0" encoding="UTF-8"?>')
|
||||||
print('<!DOCTYPE tv SYSTEM "xmltv.dtd">\n')
|
print('<!DOCTYPE tv SYSTEM "xmltv.dtd">\n')
|
||||||
print('<tv generator-info-name="epg2xml.py">')
|
print('<tv generator-info-name="epg2xml.py ' + __version__ + '">')
|
||||||
|
|
||||||
for Channeldata in Channeldatas: #Get Channel & Print Channel info
|
for Channeldata in Channeldatas: #Get Channel & Print Channel info
|
||||||
if Channeldata['Enabled'] == 1:
|
if Channeldata['Enabled'] == 1:
|
||||||
@ -60,14 +62,17 @@ def getEpg():
|
|||||||
ChannelName = escape(Channeldata['Name'])
|
ChannelName = escape(Channeldata['Name'])
|
||||||
ChannelSource = Channeldata['Source']
|
ChannelSource = Channeldata['Source']
|
||||||
ChannelServiceId = Channeldata['ServiceId']
|
ChannelServiceId = Channeldata['ServiceId']
|
||||||
ChannelNumber = Channeldata[MyISP+'Ch']
|
ChannelISPName = '[' + str(Channeldata[MyISP+'Ch']) + '] ' + escape(Channeldata[MyISP+' Name'])
|
||||||
|
ChannelIconUrl = escape(Channeldata['Icon_url'])
|
||||||
if not (Channeldata[MyISP+'Ch'] is None):
|
if not (Channeldata[MyISP+'Ch'] is None):
|
||||||
ChannelInfos.append([ChannelId, ChannelName, ChannelSource, ChannelServiceId])
|
ChannelInfos.append([ChannelId, ChannelName, ChannelSource, ChannelServiceId])
|
||||||
print(' <channel id="%s">' % (ChannelId))
|
print(' <channel id="%s">' % (ChannelId))
|
||||||
print(' <display-name>%s</display-name>' % (ChannelName))
|
print(' <display-name>%s</display-name>' % (ChannelName))
|
||||||
print(' <display-name>%s</display-name>' % (ChannelNumber))
|
print(' <display-name>%s</display-name>' % (ChannelISPName))
|
||||||
if IconUrl:
|
if IconUrl:
|
||||||
print(' <icon src="%s/%s.png" />' % (IconUrl, ChannelId))
|
print(' <icon src="%s/%s.png" />' % (IconUrl, ChannelId))
|
||||||
|
else :
|
||||||
|
print(' <icon src="%s" />' % (ChannelIconUrl))
|
||||||
print(' </channel>')
|
print(' </channel>')
|
||||||
|
|
||||||
# Print Program Information
|
# Print Program Information
|
||||||
@ -531,7 +536,7 @@ elif args.socket:
|
|||||||
sockfile = sock.makefile('w+')
|
sockfile = sock.makefile('w+')
|
||||||
sys.stdout = sockfile
|
sys.stdout = sockfile
|
||||||
except socket.error:
|
except socket.error:
|
||||||
printError("xmltv.sock 파일을 찾을 수 없습니다.")
|
printError(SOCKET_ERROR)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
getEpg()
|
getEpg()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user