Revision | 1778c27cf1af3d02b78a50f7881b296e6ab86391 (tree) |
---|---|
Zeit | 2011-07-13 14:52:07 |
Autor | jakago <jakago@4267...> |
Commiter | jakago |
add option: enews-all
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/capturestream/trunk@21 4267046d-1765-4020-a4b0-b01f4314ac75
@@ -17,6 +17,8 @@ require 'fileutils' | ||
17 | 17 | 善意を持って作成しておりますが、すべて使用される方の自己責任でお願いいたします。 |
18 | 18 | |
19 | 19 | ====================【更新履歴】==================== |
20 | +2011/07/13 「ニュースで英会話」の公開中のファイルのダウンロードをenewsとし、過去分すべての | |
21 | + ダウンロードをenews-allに変更。 | |
20 | 22 | 2011/07/11 翌週公開分ダウンロードのコードを削除。作業ファイル名の生成方法を変更(make_temp_name) |
21 | 23 | 2011/07/06 xmlの取得元をwikiに再変更。 |
22 | 24 | 2011/07/02 デフォルトの動作を基礎英語1のダウンロードから何もダウンロードしないように変更。 |
@@ -113,7 +115,7 @@ $default_target(配列)に指定しておくことで引数指定なしで | ||
113 | 115 | $default_target = [] |
114 | 116 | $english = ["basic1", "basic2", "basic3", "training", "kaiwa", "business1", "business2"] |
115 | 117 | $multilingual = ["chinese", "french", "italian", "hangeul", "german", "spanish"] |
116 | -$extra = ["charo", "enews", "shower"] | |
118 | +$extra = ["charo", "enews", "shower", "enews-all"] | |
117 | 119 | |
118 | 120 | #-------------------------------------------------------------------------------- |
119 | 121 | # 実行環境の検出とツールのパス設定 |
@@ -672,21 +674,41 @@ def get_enews_names( search, regexp ) | ||
672 | 674 | return result.uniq |
673 | 675 | end |
674 | 676 | |
675 | -def download_enews | |
676 | - # Googleでの検索結果から2010/03/23以降のファイル名を取得 | |
677 | - flvs_20100323 = get_enews_names( SEARCH_20100323, REGEXP ) | |
678 | - | |
679 | - # NHKのHPで現在公開中のファイル名を取得 | |
677 | +# NHKのHPで現在公開中のファイル名を取得 | |
678 | +def current_list | |
679 | + result = Array.new | |
680 | 680 | today = Date.today |
681 | 681 | i = today - 7 |
682 | 682 | while i <= today |
683 | 683 | if i.wday >= 1 && i.wday <= 5 # 月曜から金曜まで |
684 | 684 | open( "#{ENEWS}#{i.strftime( '%Y%m%d' )}" ) { |file| |
685 | - flvs_20100323 << $1 if REGEXP =~ file.read | |
685 | + result << $1 if REGEXP =~ file.read | |
686 | 686 | } |
687 | 687 | end |
688 | 688 | i += 1 |
689 | 689 | end |
690 | + return result | |
691 | +end | |
692 | + | |
693 | +# NHKのHPで現在公開中のファイルをダウンロード | |
694 | +def download_enews | |
695 | + print( "enews: " ) | |
696 | + flv_service_prefix = $flv_service_prefix | |
697 | + $flv_service_prefix = FLV_SERVICE_PREFIX_20090728 | |
698 | + | |
699 | + current_list.each { |flv| | |
700 | + capture_stream( "enews", "ニュースで英会話", "#{flv[4,2].to_i}月#{flv[7,2].to_i}日放送分", "#{flv}.flv", 5 ) | |
701 | + } | |
702 | + | |
703 | + $flv_service_prefix = flv_service_prefix | |
704 | + puts() | |
705 | +end | |
706 | + | |
707 | +# 公開中のファイルとGoogle検索で見つかった過去分すべてをダウンロード | |
708 | +def download_enews_all | |
709 | + # Googleでの検索結果から2010/03/23以降のファイル名を取得 | |
710 | + flvs_20100323 = get_enews_names( SEARCH_20100323, REGEXP ) | |
711 | + flvs_20100323 += current_list | |
690 | 712 | |
691 | 713 | # Googleでの検索結果から2010/03/22以前のファイル名を取得 |
692 | 714 | flvs = get_enews_names( SEARCH_20090330, REGEXP ) |
@@ -698,7 +720,7 @@ def download_enews | ||
698 | 720 | (flv[0, 6] + flv[7, 2]).to_i >= 20090728 ? (flvs_20090728 << flv) : (flvs_20090330 << flv) |
699 | 721 | } |
700 | 722 | |
701 | - print( "enews: " ) | |
723 | + print( "enews-all: " ) | |
702 | 724 | # 2009/07/28以降のflvをダウンロード |
703 | 725 | flv_service_prefix = $flv_service_prefix |
704 | 726 | $flv_service_prefix = FLV_SERVICE_PREFIX_20090728 |
@@ -780,5 +802,6 @@ targets.each { |target| | ||
780 | 802 | } |
781 | 803 | |
782 | 804 | download_charo if targets.include?( "charo" ) |
783 | -download_enews if targets.include?( "enews" ) | |
784 | 805 | download_shower if targets.include?( "shower" ) |
806 | +download_enews if targets.include?( "enews" ) | |
807 | +download_enews_all if targets.include?( "enews-all" ) |