緑のボタンを押せ! Press the green button

緑のボタンを押せ! Press the green button

PR

×

Keyword Search

▼キーワード検索

Archives

2026.10
2026.09
2026.08
2026.07
2026.06

Comments

effelpist@ kilovermek.es effelpist &lt;a href=&quot; <small> <a href="http…
Jun@ Re:「いっちゅう」さんのiEPG用ソフト入れてみた(09/15) TVdeIEPG Ver.1.2.1.0がリンク切れしてい…
スター@ Re:hauppauge HD PVR 速報(08/25) スタービーチ <small> <a href="http://c…
ASOBO@ Re:hauppauge HD PVR 速報 ASOBO攻略 <small> <a href="http:/…
ハッピーメール@ Re:hauppauge HD PVR 速報 ハッピーメール <small> <a href="http:/…

Freepage List

Favorite Blog

まだ登録されていません
2009.05.11
XML
テーマ: 私のPC生活(7590)
カテゴリ: PVR
外部のキャプチャコマンドをsystem() 関数などでキックするにもiEPGDの情報からからファイル名を 生成する必要がありますね。開始時間、番組名、 チャンネル名とかで決めうちで作ってもいいような気がしますが、 チューナー制御コマンドへの対応も必要でしょう。
相変わらず行き当たりばったりですが、 後でプログラムのコードを直さなくてもいいように、 要約情報を作成する関数 を作ることにします。

s()に似たものになるので、to_s() を拡張します。 linuxのdateコマンドのプレースホルダ機能みたいに、 引数に %keyword とするとキーワードの値で置き換えてくれるようにしました。録画の日時や時間は、%Dとかにします。
微妙に悩ましいのは、 そのためのデータをどうやって保持するかですが、 必要なデータはここでガチには決まらないので、 例によってhashで持つことにします(えへへ)。前に、 開始終了時間をキャッシュ的に持ち、更新時の管理のために:: UptoDate()というメソッドを作りましたが、 このメソッドも拡張して、 hashデータの管理もここでするようにしました。
それにしても、Rubyの文字列操作や正規表現はべんりですねぇ。正規表現をプログラム言語の機能として取り込んだのはなにが最初なんでしょう? bch? Perl?

  def to_s( format = nil )
    if format != nil
      for key, value in @formatHelper
        format = format.gsub( /#{key}/, value )
      end
      return format 
    end

    #to reproduce .tvipd file single content mode
   このへんは一緒なので省略


  # make @timeStart, @timeEnd & @formatHelper upto date
  def UptoDate
    timeNow = Time.now
    year = (self[ "year:" ] == "" ) ?  timeNow.year : self[ "year:" ].to_i
    month = (self[ "month:" ] == "" ) ?  timeNow.month : self[ "month:" ]
    day = (self[ "date:" ] == "" ) ?  timeNow.month : self[ "date:" ]
    _start = self["start:"].split(":")
    _end = self["end:"].split(":")

    @timeStart = Time.local( year, month, day, _start[0], _start[1] )
    @timeEnd = Time.local( year, month, day, _end[0], _end[1] )
    if @timeEnd <= @timeStart
        @timeEnd += 24*60*60
    end
    # for @formatHelper
    @formatHelper = Hash::new
    @formatHelper.default = ""
    # time related
    @formatHelper[ "%D" ] = @timeStart.strftime("%Y_%m_%d" ) 
    @formatHelper[ "%eD"] = @timeEnd.strftime("%Y_%m_%d") 
    @formatHelper[ "%T" ] = @timeStart.strftime("%H%M") 
    @formatHelper[ "%eT"] = @timeEnd.strftime("%H%M") 
    # iEPGD keyword related
    keywords =Array.new
    if self[ "version:" ] == "1"
      keywords = @@V1Mandatory + @@V1Axuary 
    else 
      keywords = @@V2Mandatory + @@V2Axuary 
    end  
    keywords.each {|key| 
      @formatHelper[ "%#{key}" ] = self[ key ] 
    }
    # '%' itself
    @formatHelper[ "%%"] = "%" 
  end #def UptoDate






お気に入りの記事を「いいね!」で応援しよう

Last updated  2009.05.11 10:38:10
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: