Added (mandatory) configuration parameter "feedentrylimit" that specifies the maximum...
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Wed, 5 Jan 2011 20:28:24 +0000 (20:28 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Wed, 5 Jan 2011 20:28:24 +0000 (20:28 +0000)
feedentrylimit = 150

git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/wrfeed@720 7aebc617-e5e2-0310-91dc-80fb5f6d2477

setup.py
wrfeed/config/deployment.ini_tmpl
wrfeed/controllers/berichte.py

index c6dc00e634db39c4b261623e543f14b5715cf909..e804ec89c2b3b778dcba1d9e9bf4bb8deecc81ca 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ except ImportError:
 
 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',
index 0c0bbd7c30dcfd2387414fa73a54b9ae634a3e57..aa69500036a9074231084695a0119a8a8db7f133 100644 (file)
@@ -31,12 +31,15 @@ app_instance_uuid = ${app_instance_uuid}
 #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.
index a319215724e81ab630697cdf2c13aa9fff9e13f3..7ffc90cfab53f037f352f351206f1255644e2e07 100644 (file)
@@ -33,13 +33,14 @@ def create_feed(page_title=None, page_ids=None):
     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
@@ -48,12 +49,12 @@ def create_feed(page_title=None, page_ids=None):
             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)