epg2xml/skb.py
2019-02-10 23:32:25 +09:00

150 lines
4.2 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
from pprint import pprint
import sys
import codecs
sys.stdout.reconfigure(encoding='utf-8')
sys.stdin.reconfigure(encoding='utf-8')
# reload(sys)
# sys.setdefaultencoding('utf-8')
path = 'skbchannel.txt'
skb_channels = []
channeljson = 'Channel.json'
channeldatas = []
#print (sys.stdin.encoding)
#print (sys.stdout.encoding)
with open(channeljson, encoding="utf-8") as json_data:
channeldatas=json.load(json_data)
json_data.close()
with open(path, encoding="utf-8") as f:
for line in f:
inner_list = [elt.strip() for elt in line.split('\t')]
skb_channels.append(inner_list)
def getChanneldata(a):
#print ("Search:" + a[1])
try:
findchannel=None
for channeldata in channeldatas:
channelnames=[(channeldata['SK Name']), (channeldata['KT Name']), channeldata['LG Name']]
# print (channelnames)
if(a[1] in channelnames):
findchannel = channeldata
break
# print (findchannel['Source'])
# if(findchannel['Source'] is "KT"):
# print (findchannel)
if(findchannel['Source']== "KT"):
print (findchannel['Name'])
if(len(a)<3):
print ("ERR")
findchannel['Name'] = a[1]
findchannel['Id'] = int(a[0])
findchannel['ServiceId'] = a[2]
findchannel['SK Name']=a[1]
findchannel['KT Name']=a[1]
findchannel['LG Name']=a[1]
if(findchannel['Source']== "NAVER"):
print (findchannel['Name'])
if(len(a)<3):
print ("ERR")
findchannel['Name'] = a[1]
findchannel['Id'] = int(a[0])
findchannel['ServiceId'] = a[2]
findchannel['SK Name']=a[1]
findchannel['KT Name']=a[1]
findchannel['LG Name']=a[1]
if(len(a)>2):
findchannel = {"Id": 0,
"Name": "",
"KT Name": "",
"KTCh": 0,
"LG Name": "",
"LGCh": 0,
"SK Name": "",
"SKCh": 0,
"Radio Name": "",
"RadioCh":0 ,
"Icon_url": "",
"Source": "SKB",
"ServiceId": 0}
findchannel['Name'] = a[1]
findchannel['Id'] = int(a[0])
findchannel['ServiceId'] = a[2]
findchannel['SK Name']=a[1]
findchannel['KT Name']=a[1]
findchannel['LG Name']=a[1]
# print (findchannel)
if (findchannel==None):
print ("error:" + a[1]+":"+a[0]+":"+str(len(a)))
# print (findchannel)
findchannel['Id']=int(a[0])
findchannel['SK Name']=a[1]
findchannel['SKCh']=int(a[0])
except Exception as e:
print ("error!!:" + a[1]+":"+a[0])
print (e)
return findchannel
# else:
# print (findchannel)
MyChannelInfos = []
for skb_channel in skb_channels:
MyChannelInfo = getChanneldata(skb_channel)
# print(MyChannelInfo)
if(MyChannelInfo != None):
# MyChannelInfo['Id']=str(skb_channel[0])
# MyChannelInfo['SKCh']= skb_channel[0]
# print(MyChannelInfo)
MyChannelInfos.append(MyChannelInfo)
# else:
# print("None"+skb_channel[1])
with open('Channel.json','w',encoding="utf-8") as outfile:
json.dump(MyChannelInfos, outfile, indent=2,ensure_ascii=False)
#print SKB_CHANNEL
#print skb_channel[0][1]
# //a = Channel name data
# def getChannelNumber(a):
# # print ("AAAA",a[0])
# for skb_channel in skb_channels:
# # print ("BBBB",skb_channel[1])
# if((unicode(skb_channel[1]).find(a[0])>-1) and a[0]!=""):
# return skb_channel[0]
# elif((unicode(skb_channel[1]).find(a[1])>-1) and a[1]!=""):
# return skb_channel[0]
# elif((unicode(skb_channel[1]).find(a[2])>-1) and a[2]!=""):
# return skb_channel[0]
# return None
#
#
# with open('Channel.json') as json_data:
#
# MyChannelInfo = []
#
# # print getChannelNumber('asf')
# # getChannelNumber=""
# for Channeldata in Channeldatajson:
# test=[(Channeldata['SK Name']), (Channeldata['KT Name']), Channeldata['LG Name']]
# channelNumber=getChannelNumber(test)
# # print channelNumber
# if(channelNumber is None):
# print Channeldata['SK Name']
# else :
# # print channelNumber
# Channeldata['Id']=channelNumber
# MyChannelInfo.append(Channeldata)
#
# with open('data.txt','w') as outfile:
# json.dump(MyChannelInfo, outfile)