Changeset 230 for trunk/moap/doap/rss.py


Ignore:
Timestamp:
19-05-07 12:52:04 (6 years ago)
Author:
thomas
Message:
  • moap/command/doap.py (Rss.do): break into two lines
  • moap/doap/rss.py (doapsToRss, createdToPubDate, cheetah_toRss): Make the two template language's output as similar as possible.
  • moap/test/Makefile.am:
  • moap/test/rss/mach.rss.cheetah:
  • moap/test/rss/mach.rss.genshi: Add two rss feeds based on the two templating languages.
  • moap/test/test_commands_doap.py (TestDoapMach?.setUp, TestDoapMach?.testRssGenshi, TestDoapMach?.testRssCheetah): Add tests for the specific template languages. Coverage: 72 % ( 844 / 1157)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/moap/doap/rss.py

    r228 r230  
    2222    @type  templateType: str 
    2323    @param templateType: cheetah or genshi 
     24 
     25    @rtype: str 
    2426    """ 
    2527    projects = [d.getProject() for d in doaps] 
     
    5052# template language specific templates/handlers 
    5153 
    52 CHEETAH_TEMPLATE = """<rss version="2.0"> 
     54CHEETAH_TEMPLATE = """<rss version="2.0" lang="en"> 
    5355  <channel> 
    5456#set $names = ", ".join([p.name for p in $projects]) 
     
    6163#for $release in $project.release 
    6264#set $v = $release.version 
    63         <item> 
    64           <title>$project.name $v.revision '$v.name' released</title> 
    65             <guid>$project.shortname-$v.revision</guid> 
    66             <link>release-$project.homepage</link> 
    67             <pubDate>$createdToPubDate($v.created)</pubDate> 
    68             <description> 
     65    <item> 
     66      <title>$project.name $v.revision '$v.name' released</title> 
     67      <guid>release-$project.shortname-$v.revision</guid> 
     68      <link>$project.homepage</link> 
     69      <pubDate>$createdToPubDate($v.created)</pubDate> 
     70      <description> 
    6971For more information, visit 
    7072&lt;A HREF="$project.homepage"&gt;the project homepage&lt;/A&gt; 
    71             </description> 
     73      </description> 
     74    </item> 
    7275#end for 
    7376#end for 
     
    8386        template = CHEETAH_TEMPLATE 
    8487 
    85     t = Cheetah.Template.Template(template, searchList={ 
     88    t = Cheetah.Template.Template(template, searchList=[ 
     89    { 
    8690        'projects': projects, 
    8791        'createdToPubDate': createdToPubDate 
    88     }) 
    89     return t 
     92    }]) 
     93    return str(t) 
    9094 
    9195GENSHI_TEMPLATE = """<rss version="2.0" 
     
    9397            lang="en"> 
    9498  <channel> 
    95     <title>${projects[0].name}</title> 
     99    <title>Release feed for ${projects[0].name}</title> 
     100    <description>Release feed for ${projects[0].name}</description> 
     101    <link>${projects[0].homepage}</link> 
    96102    <language>en</language> 
    97103 
    98104    <py:for each="project in projects"> 
    99       <item py:for="release in project.release"> 
    100         <py:with vars="v=release.version; 
    101                        n=v.name; 
    102                       "> 
    103           <title>${project.name} ${v.revision} '${v.name}' released</title> 
    104           <link>${project.homepage}</link> 
    105           <guid>release-${project.shortname}-${v.revision}</guid> 
    106           <pubdate>${createdToPubDate(v.created)}</pubdate> 
    107           <description> 
     105    <item py:for="release in project.release"> 
     106      <py:with vars="v=release.version; 
     107                     n=v.name; 
     108                    "> 
     109      <title>${project.name} ${v.revision} '${v.name}' released</title> 
     110      <guid>release-${project.shortname}-${v.revision}</guid> 
     111      <link>${project.homepage}</link> 
     112      <pubDate>${createdToPubDate(v.created)}</pubDate> 
     113      <description> 
    108114For more information, visit 
    109115&lt;A HREF="${project.homepage}"&gt;the project homepage&lt;/A&gt; 
    110           </description> 
    111         </py:with> 
    112       </item> 
     116      </description> 
     117      </py:with> 
     118    </item> 
    113119    </py:for> 
    114120 
Note: See TracChangeset for help on using the changeset viewer.