OSDN Git Service

00d18ea66f5e564d5bda2f3d04981854ab9c9979
[rec10/rec10-git.git] / rec10 / trunk / src / ts2epg.py
1 #!/usr/bin/python\r
2 # coding: UTF-8\r
3 # Rec10 TS Recording Tools\r
4 # Copyright (C) 2009-2011 Yukikaze\r
5 #import sys # モジュール属性 argv を取得するため\r
6 import os\r
7 import re\r
8 import time\r
9 import commands\r
10 \r
11 import chdb\r
12 import configreader\r
13 import tv2ts\r
14 import recdblist\r
15 \r
16 def writeEpgXML(pout, ch):\r
17     """\r
18     tsを取得してepgの入ったxmlとして書き出す\r
19     """\r
20     timet = "90"\r
21     if re.search(u'CS', ch):\r
22         timet = "180"\r
23     elif len(ch)>2:\r
24         timet = "240"\r
25     writeEpgXMLTime(pout, ch ,timet)\r
26 def writeLogoEpgXML(pout, ch):\r
27     """\r
28     tsを取得してepgの入ったxmlとして書き出す\r
29     """\r
30     timet = "600"\r
31     if re.search(u'CS', ch):\r
32         timet = "10"\r
33     elif len(ch)>2:\r
34         timet = "1200"\r
35     writeEpgXMLTime(pout, ch ,timet,islogo=1)\r
36 def writeEpgXMLTime(pout, ch ,times,islogo=0):\r
37     """\r
38     指定された時間分tsを取得してepgの入ったxmlとして書き出す\r
39     """\r
40     if islogo==0:\r
41         recdblist.addCommonlogEX(u"通常","write_time(ts2epg.py)",u"Ts-EPG XML書き出し処理開始" ,u"CH:"+ch,log_level=500)\r
42     elif islogo==1:\r
43         recdblist.addCommonlogEX(u"通常","write_time(ts2epg.py)",u"Ts-EPG LOGO : XML書き出し処理開始" ,u"CH:"+ch,log_level=500)\r
44     timet = times\r
45     if re.search(u'CS', ch):\r
46         mode = "/CS"\r
47     elif len(ch)>2:\r
48         mode = "/BS"\r
49     else:\r
50         mode = str(chdb.searchCHFromBctype(u'te' + ch)['ch'])\r
51     epgdump = configreader.getConfPath("epgdump")\r
52     if os.access(pout + ".ts", os.F_OK):\r
53         os.remove(pout + ".ts")\r
54     time.sleep(10)\r
55     tv2ts.tv2b25ts(pout+ ".ts", ch, times,"0")\r
56     logoopt=""\r
57     if islogo==1:\r
58         logoopt="/LOGO "\r
59     os.chmod(pout+".ts",0755)\r
60     exe = "export LANG=ja_JP.UTF-8 && nice -n 15 " + epgdump + " " +logoopt+ mode + " " + pout + ".ts " + pout\r
61     recdblist.printutf8(exe)\r
62     recdblist.addCommonlogEX(u"通常", "write_time(ts2epg.py) "+str(ch), exe,"",log_level=500)\r
63     unicode(commands.getoutput(exe),'utf-8','ignore')\r
64     time.sleep(10)\r
65     if os.path.exists(pout+".ts"):\r
66         os.remove(pout+ ".ts")\r
67 \r