- if param_page_title is None:
- sql = "select id, page_title, date_report, date_entry, `condition`, description, author_name, author_username from wrreport where date_invalid > now() and delete_date is null order by id desc limit 50"
+
+ select = "select id, page_title, date_report, date_entry, `condition`, description, author_name, author_username from wrreport "
+ if not page_title is None:
+ # page_title is given
+ sql = select + "where lcase(page_title) = lcase(%s) and date_invalid > now() and delete_date is null order by id desc limit 50"
+ result = conn.execute(sql, page_title)
+ elif not page_ids is None:
+ # a list of page_ids is given
+ sql = [select + "where "]
+ if len(page_ids) > 0:
+ sql += '('
+ sql += " or ".join(['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'
+ 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"