setup(
name='wrfeed',
- version='0.1.3',
+ version='0.1.4',
description='Provides Atom Feed for Winterrodeln snow reports',
author='Philipp Spitzer',
author_email='philipp.spitzer@winterrodeln.org',
#beaker.session.data_dir = %(here)s/data/sessions
# SQLAlchemy database URL
-sqlalchemy.url = mysql://user@localhost:3306/winterrodeln_wiki?charset=utf8&use_unicode=0
+sqlalchemy.url = mysql://user@localhost:3306/winterrodeln_wiki?charset=utf8&use_unicode=1
# sqlalchemy.url = sqlite:///production.db
# necessary for mySQL databases
sqlalchemy.pool_recycle = 3600
+# maximum number of feed entries
+feedentrylimit = 150
+
# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
Otherwise, all reports are shown."""
engine = create_engine(config['sqlalchemy.url'])
+ limit = int(config['feedentrylimit'])
conn = engine.connect()
select = "select id, wrreport.page_title, date_report, date_entry, `condition`, description, author_name, author_username, position_longitude, position_latitude from wrreport left outer join wrsleddingcache on wrreport.page_id=wrsleddingcache.page_id "
if not page_title is None:
# page_title is given
page_title = page_title.replace('_', ' ')
- sql = select + "where lcase(wrreport.page_title) = lcase(%s) and date_invalid > now() and delete_date is null order by id desc limit 50"
+ sql = select + "where lcase(wrreport.page_title) = lcase(%s) and date_invalid > now() and delete_date is null order by id desc limit {0}".format(limit)
result = conn.execute(sql, page_title)
elif not page_ids is None:
# a list of page_ids is given
sql += '('
sql += " or ".join(['wrreport.page_id=%s' for page_id in page_ids])
sql += ') '
- sql += 'and date_invalid > now() and delete_date is null order by id desc limit 50'
+ sql += 'and date_invalid > now() and delete_date is null order by id desc limit {0}'.format(limit)
page_ids_str = [str(page_id) for page_id in page_ids]
result = conn.execute("".join(sql), *page_ids_str)
else:
# user wants to have all reports
- sql = select + "where date_invalid > now() and delete_date is null order by id desc limit 50"
+ sql = select + "where date_invalid > now() and delete_date is null order by id desc limit {0}".format(limit)
result = conn.execute(sql)