root/trunk/install/perl/updatem2pfiletable.pl

リビジョン 69, 1.5 kB (コミッタ: sorshi, コミット時期: 17 年 前)

 MP4ファイルリストを作成するときの処理をより効率化。
 しょぼかる放送局名変更にあわせて初期テーブル修正。

  • svn:executable 属性の設定値:
Line 
1 #!/usr/bin/perl
2 #
3 # Anime recording system foltia
4 # http://www.dcc-jpl.com/soft/foltia/
5 #
6 # usage :updatem2pfiletable.pl
7 #
8 # m2pfileのリストをテーブルに入れる
9 # 全deleteして更新する
10 # おもにメンテナンス用
11 # または一日一回ぐらいcronで実行させてもいいかも
12 #
13 # DCC-JPL Japan/foltia project
14 #
15
16 use DBI;
17 use DBD::Pg;
18
19 $path = $0;
20 $path =~ s/updatem2pfiletable.pl$//i;
21 if ($pwd  ne "./"){
22 push( @INC, "$path");
23 }
24
25 require "foltialib.pl";
26         my $data_source = sprintf("dbi:%s:dbname=%s;host=%s;port=%d",
27                 $DBDriv,$DBName,$DBHost,$DBPort);
28          $dbh = DBI->connect($data_source,$DBUser,$DBPass) ||die $DBI::error;;
29
30 $dbh->{AutoCommit} = 0;
31 # ひとまず消す
32 $query =  "DELETE  FROM  foltia_m2pfiles  ";
33          $sth = $dbh->prepare($query);
34         $sth->execute();
35
36 while ($file = glob("$recfolderpath/*.m2p")) {
37 $file =~ s/$recfolderpath\///;
38 $query =  "insert into  foltia_m2pfiles values ('$file')";
39 $oserr = $dbh->do($query);
40 # print "$file\n";
41 }#while
42 $oserr = $dbh->commit;
43
44 # foltia_mp4files
45 @mp4filelist = `find ${recfolderpath}/ | grep MP4`;#by foltia dev ticket #5 http://www.dcc-jpl.com/foltia/ticket/5
46
47 # ひとまず消す
48 $query =  "DELETE  FROM  foltia_mp4files  ";
49          $sth = $dbh->prepare($query);
50         $sth->execute();
51
52
53 foreach (@mp4filelist) {
54 chomp();
55 s/$recfolderpath\///;
56 @fileline = split (/\//);
57 $filetid = $fileline[0];
58 $filetid =~ s/[^0-9]//g;
59
60 $query =  "insert into  foltia_mp4files values ('$filetid','$fileline[2]')";
61 $oserr = $dbh->do($query);
62 #print "$filetid;$fileline[2];$query\n"
63 # http://www.atmarkit.co.jp/fnetwork/rensai/sql03/sql1.html
64
65 }
66 $oserr = $dbh->commit;
67
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。
track feed