2008-08-11 2757 views

回答

1

我最終(希望是暫時的)解決這個問題是一個Python CGI腳本。我的腳本適用於任何可能會發現它有用的人(儘管事實上這是一個徹頭徹尾的破解)。

#!/usr/bin/python 
"""A CGI script to produce an RSS feed of top-level Gallery2 albums.""" 

#import cgi 
#import cgitb; cgitb.enable() 
from time import gmtime, strftime 
import MySQLdb 

ALBUM_QUERY = ''' 
    select g_id, g_title, g_originationTimestamp 
    from g_Item 
    where g_canContainChildren = 1 
    order by g_originationTimestamp desc 
    limit 0, 20 
    ''' 

RSS_TEMPLATE = '''Content-Type: text/xml 

<?xml version="1.0"?> 
<rss version="2.0"> 
    <channel> 
    <title>TITLE</title> 
    <link>http://example.com/gallery2/main.php</link> 
    <description>DESCRIPTION</description> 
    <ttl>1440</ttl> 
%s 
    </channel> 
</rss> 
''' 

ITEM_TEMPLATE = ''' 
    <item> 
     <title>%s</title> 
     <link>http://example.com/gallery2/main.php?g2_itemId=%s</link> 
     <description>%s</description> 
     <pubDate>%s</pubDate> 
    </item> 
''' 

def to_item(row): 
    item_id = row[0] 
    title = row[1] 
    date = strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime(row[2])) 
    return ITEM_TEMPLATE % (title, item_id, title, date) 

conn = MySQLdb.connect(host = "HOST", 
         user = "USER", 
         passwd = "PASSWORD", 
         db = "DATABASE") 
curs = conn.cursor() 
curs.execute(ALBUM_QUERY) 
print RSS_TEMPLATE % ''.join([ to_item(row) for row in curs.fetchall() ]) 
curs.close() 
-2

嗯,我不確定這可以幫助你,但這裏要說的是在另外一個話題呈現爲解決一個非常簡單的RSS:

PHP RSS Builder