チェンジセット 952

差分発生行の前後
無視リスト:
コミット日時:
2008/08/11 04:54:31 (4 年前)
コミッタ:
nobu
ログメッセージ:

Syndication: refs #53 テストソースの追加とか。

  • まだまだ不安定。develop!!
    • 構成すら変更する可能性あり。
  • 日付関連がウザすぎたのでDateUtilなクラスに分割。
    • ちゃんと作ったら org.libspark.utilsの方にマージ出来るかな?
ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/Syndication/trunk/src/org/libspark/syndication/AtomFeedEntry.as

    r951 r952  
    22{ 
    33    import org.libspark.syndication.namespaces.atom; 
     4    import org.libspark.syndication.utils.DateUtil; 
    45 
    56    use namespace atom; 
     
    5960            if (_published == null && !!_data.published.toString()) 
    6061            { 
    61                 _published = Feed.parseW3CDate(_data.published.toString()); 
     62                _published = DateUtil.parseW3C(_data.published.toString()); 
    6263            } 
    6364            return _published; 
  • as3/Syndication/trunk/src/org/libspark/syndication/Feed.as

    r951 r952  
    8585            return new Feed(adapter); 
    8686        } 
    87  
    88         /** 
    89          *  parse w3c datetime format to datetime object. 
    90          */ 
    91         public static function parseW3CDate(dateString:String):Date 
    92         { 
    93             var parts:Array = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})([-+](\d{2})(?::?(\d{2}))|Z)$/.exec(dateString); 
    94             var tmpDate:Date = new Date(parts[1], int(parts[2])-1, parts[3], parts[4], parts[5], parts[6]); 
    95             var localOffset:Number = tmpDate.getTimezoneOffset() * 60 * 1000; 
    96  
    97             var dataOffset:Number = 0; 
    98             var tzInfo:String = parts[7]; 
    99             var hour:int = int(parts[8]); 
    100             var minutes:int = int(parts[9]); 
    101  
    102             if (tzInfo && tzInfo != 'Z') 
    103             { 
    104                 dataOffset = (hour * 60 + minutes) * 60 * 1000; 
    105                 if (tzInfo.charAt(0) == '-') 
    106                 { 
    107                     dataOffset *= -1; 
    108                 } 
    109             } 
    110             return new Date(tmpDate.getTime() - (dataOffset + localOffset)); 
    111         } 
    11287    } 
    11388} 
  • as3/Syndication/trunk/src/org/libspark/syndication/RSS2FeedEntry.as

    r951 r952  
    33    import org.libspark.syndication.namespaces.dc; 
    44    import org.libspark.syndication.namespaces.content; 
     5    import org.libspark.syndication.utils.DateUtil; 
    56 
    67    use namespace dc; 
    7     //use namespace content; 
     8    use namespace content; 
    89 
    910    /** 
     
    6162            if (_published == null && !!_data.pubDate.toString()) 
    6263            { 
    63                 var tmpDate:Date = new Date(_data.pubDate.toString()); 
    64                 var localOffset:Number = tmpDate.getTimezoneOffset() * 60 * 1000; 
    65                 _published = new Date(tmpDate.getTime() - localOffset); 
     64                _published = DateUtil.parseRFC822(_data.pubDate.toString()); 
    6665            } 
    6766            return _published; 
  • as3/Syndication/trunk/src/org/libspark/syndication/RSSFeedEntry.as

    r951 r952  
    55    import org.libspark.syndication.namespaces.dc; 
    66    import org.libspark.syndication.namespaces.content; 
     7    import org.libspark.syndication.utils.DateUtil; 
    78 
    89    use namespace rss; 
     
    6566            if (_published == null && !!_data.dc::date.toString()) 
    6667            { 
    67                 _published = Feed.parseW3CDate(_data.dc::date.toString()); 
     68                _published = DateUtil.parseW3C(_data.dc::date.toString()); 
    6869            } 
    6970            return _published; 
  • as3/Syndication/trunk/tests

    • 属性の設定値: svn:ignore (登録)
      log.txt
      .DS_Store
      *.swf