Mercurial > epgrec.yaz
annotate getepg.php @ 175:f68f63465a41 default tip
handles RecException instead of Exception
| author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
|---|---|
| date | Tue, 16 Apr 2013 15:24:02 +0900 |
| parents | 190a3c46611d |
| children |
| rev | line source |
|---|---|
| 1 | 1 #!/usr/bin/php |
| 2 <?php | |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
3 $script_path = dirname( __FILE__ ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
4 chdir( $script_path ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
5 include_once( $script_path . '/config.php'); |
| 1 | 6 include_once( INSTALL_PATH . '/DBRecord.class.php' ); |
| 7 include_once( INSTALL_PATH . '/Reservation.class.php' ); | |
| 8 include_once( INSTALL_PATH . '/Keyword.class.php' ); | |
|
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
9 include_once( INSTALL_PATH . '/Settings.class.php' ); |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
10 include_once( INSTALL_PATH . '/storeProgram.inc.php' ); |
|
142
481e789605e3
mod: EPG???????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
111
diff
changeset
|
11 include_once( INSTALL_PATH . '/recLog.inc.php' ); |
| 1 | 12 |
| 85 | 13 // 後方互換性 |
| 14 if( ! defined( "BS_EPG_CHANNEL" ) ) define( "BS_EPG_CHANNEL", "211" ); | |
| 15 if( ! defined( "CS1_EPG_CHANNEL" ) ) define( "CS1_EPG_CHANNEL", "CS8" ); | |
| 16 if( ! defined( "CS2_EPG_CHANNEL" ) ) define( "CS2_EPG_CHANNEL", "CS24" ); | |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
17 |
| 85 | 18 function check_file( $file ) { |
| 19 // ファイルがないなら無問題 | |
| 20 if( ! file_exists( $file ) ) return true; | |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
21 |
| 85 | 22 // 1時間以上前のファイルなら削除してやり直す |
| 23 if( (time() - filemtime( $file )) > 3600 ) { | |
| 24 @unlink( $file ); | |
| 25 return true; | |
| 26 } | |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
27 |
| 85 | 28 return false; |
| 29 } | |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
30 |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
31 // 並列化が可能か執念深く調べる |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
32 $use_para = false; |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
33 $use_para = (function_exists( "pcntl_fork" ) && function_exists( "posix_setsid" ) && function_exists( "pcntl_signal" ) && function_exists("pcntl_setpriority")); |
|
142
481e789605e3
mod: EPG???????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
111
diff
changeset
|
34 if( ! $use_para ) { |
|
481e789605e3
mod: EPG???????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
111
diff
changeset
|
35 reclog("getepg:: 並列実行が行えないPHP環境です" ); |
|
481e789605e3
mod: EPG???????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
111
diff
changeset
|
36 } |
|
481e789605e3
mod: EPG???????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
111
diff
changeset
|
37 else { |
|
481e789605e3
mod: EPG???????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
111
diff
changeset
|
38 reclog("getepg:: 並列実行を使用します" ); |
|
481e789605e3
mod: EPG???????????????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
111
diff
changeset
|
39 } |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
40 |
|
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
41 $settings = Settings::factory(); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
42 |
| 85 | 43 $temp_xml_bs = $settings->temp_xml."_bs"; |
| 44 $temp_xml_cs1 = $settings->temp_xml."_cs1"; | |
| 45 $temp_xml_cs2 = $settings->temp_xml."_cs2"; | |
| 46 $temp_xml_gr = $settings->temp_xml."_gr"; | |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
47 |
|
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
48 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
49 |
| 1 | 50 // BSを処理する |
| 57 | 51 if( $settings->bs_tuners != 0 ) { |
| 1 | 52 // 録画重複チェック |
|
70
1363ac056197
fix: getepg get program information duaring CS/BS recording.
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
67
diff
changeset
|
53 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
54 if($num < $settings->bs_tuners && check_file($temp_xml_bs)) { |
| 85 | 55 $cmdline = "CHANNEL=".BS_EPG_CHANNEL." DURATION=180 TYPE=BS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; |
| 1 | 56 exec( $cmdline ); |
| 85 | 57 $cmdline = $settings->epgdump." /BS ".$settings->temp_data." ".$temp_xml_bs; |
| 1 | 58 exec( $cmdline ); |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
59 if( $use_para ) { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
60 $cmdline = INSTALL_PATH."/storeProgram.php BS ".$temp_xml_bs." >/dev/null 2>&1 &"; |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
61 exec( $cmdline ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
62 } |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
63 else { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
64 storeProgram( "BS", $temp_xml_bs ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
65 if( file_exists( $temp_xml_bs ) ) @unlink( $temp_xml_bs ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
66 } |
|
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
67 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
|
82
330c83ae8c95
fix: CS?EPG?????????????????????????
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
68 } |
|
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
69 |
|
82
330c83ae8c95
fix: CS?EPG?????????????????????????
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
70 // CS |
|
330c83ae8c95
fix: CS?EPG?????????????????????????
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
71 if ($settings->cs_rec_flg != 0) { |
|
330c83ae8c95
fix: CS?EPG?????????????????????????
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
72 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
73 if($num < $settings->bs_tuners && check_file($temp_xml_cs1)) { |
|
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
74 |
| 85 | 75 $cmdline = "CHANNEL=".CS1_EPG_CHANNEL." DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; |
|
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
76 exec( $cmdline ); |
| 85 | 77 $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$temp_xml_cs1; |
|
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
78 exec( $cmdline ); |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
79 if( $use_para ) { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
80 $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs1." >/dev/null 2>&1 &"; |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
81 exec( $cmdline ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
82 } |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
83 else { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
84 storeProgram( "CS", $temp_xml_cs1 ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
85 if( file_exists( $temp_xml_cs1 ) ) @unlink( $temp_xml_cs1 ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
86 } |
|
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
87 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
|
82
330c83ae8c95
fix: CS?EPG?????????????????????????
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
88 } |
|
330c83ae8c95
fix: CS?EPG?????????????????????????
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
70
diff
changeset
|
89 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND (type = 'BS' OR type = 'CS') AND endtime > now() AND starttime < addtime( now(), '00:03:05')" ); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
90 if( ($num < $settings->bs_tuners) && check_file($temp_xml_cs2) ) { |
| 85 | 91 $cmdline = "CHANNEL=".CS2_EPG_CHANNEL." DURATION=120 TYPE=CS TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; |
|
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
92 exec( $cmdline ); |
| 85 | 93 $cmdline = $settings->epgdump." /CS ".$settings->temp_data." ".$temp_xml_cs2; |
|
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
94 exec( $cmdline ); |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
95 if( $use_para ) { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
96 $cmdline = INSTALL_PATH."/storeProgram.php CS ".$temp_xml_cs2." >/dev/null 2>&1 &"; |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
97 exec( $cmdline ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
98 } |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
99 else { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
100 storeProgram( "CS", $temp_xml_cs2 ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
101 if( file_exists( $temp_xml_cs2 ) ) @unlink( $temp_xml_cs2 ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
102 } |
|
67
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
103 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
|
a2c4665b310c
add: CS support (thanks to dakku)
Sushi-k <epgrec@park.mda.or.jp>
parents:
64
diff
changeset
|
104 } |
| 1 | 105 } |
| 106 } | |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
107 |
| 1 | 108 // 地上波を処理する |
| 57 | 109 if( $settings->gr_tuners != 0 ) { |
| 1 | 110 foreach( $GR_CHANNEL_MAP as $key=>$value ){ |
| 111 // 録画重複チェック | |
|
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
112 $num = DBRecord::countRecords( RESERVE_TBL, "WHERE complete = '0' AND type = 'GR' AND endtime > now() AND starttime < addtime( now(), '00:01:10')" ); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
113 if($num < $settings->gr_tuners && check_file($temp_xml_gr.$value."")) { |
|
37
e5f9aa34d06f
change: modify all script for web base setting
yoneda <epgrec@park.mda.or.jp>
parents:
7
diff
changeset
|
114 $cmdline = "CHANNEL=".$value." DURATION=60 TYPE=GR TUNER=0 MODE=0 OUTPUT=".$settings->temp_data." ".DO_RECORD . " >/dev/null 2>&1"; |
| 1 | 115 exec( $cmdline ); |
| 85 | 116 $cmdline = $settings->epgdump." ".$key." ".$settings->temp_data." ".$temp_xml_gr.$value.""; |
| 1 | 117 exec( $cmdline ); |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
118 if( $use_para ) { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
119 $cmdline = INSTALL_PATH."/storeProgram.php GR ".$temp_xml_gr.$value." >/dev/null 2>&1 &"; |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
120 exec( $cmdline ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
121 } |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
122 else { |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
123 storeProgram( "GR", $temp_xml_gr.$value ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
124 if( file_exists( $temp_xml_gr.$value ) ) @unlink( $temp_xml_gr.$value ); |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
125 } |
|
84
3ec5ca5e56ca
add: EPG??????????????
yoneda <yoneda@recorder.localnet.mda.or.jp>
parents:
82
diff
changeset
|
126 if( file_exists( $settings->temp_data ) ) @unlink( $settings->temp_data ); |
| 1 | 127 } |
| 128 } | |
| 129 } | |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
130 // 並列ならこれで終わりにする |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
131 if( $use_para ) exit(); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
132 |
|
111
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
133 garbageClean(); // 不要プログラム削除 |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
134 doKeywordReservation(); // キーワード予約 |
|
3bed74eca373
change: EPG??????????????????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
86
diff
changeset
|
135 exit(); |
|
152
784e3c82926e
mod: yazucchi??????????
epgrec@park.mda.or.jp <yoneda@recorder.localnet.mda.or.jp>
parents:
142
diff
changeset
|
136 ?> |
