RSS-каналы из Gallery2 - PullRequest
       46

RSS-каналы из Gallery2

0 голосов
/ 11 августа 2008

После пары часов борьбы с Gallery2 RSS-модулем и получения только сообщения "каналы еще не определены", я сдался. Основываясь на поиске в Google «пока не определены каналы» , это довольно распространенная проблема. Есть ли у вас какие-либо советы и / или приемы для работы RSS-модуля Gallery2? Или какие-нибудь советы относительно относительно неосведомленного PHP разработчика, пытающегося отладить проблемы с этим приложением PHP?

Ответы [ 2 ]

1 голос
/ 11 августа 2008

Моим возможным (и, надеюсь, временным) решением этой проблемы был сценарий 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()
0 голосов
/ 14 октября 2008

Ну, я не уверен, что это может помочь вам, но вот очень простой RSS, который был представлен как решение в другой теме:

PHP RSS Builder

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...