def handler(req): log(3, 'handling request: ' + req.uri) uri = URI(req.uri) filename = config.file_dir + uri.path + '/' + uri.filename filename = filename.replace('//', '/') filename = filename.replace('//', '/') filename = filename.replace('//', '/') log(3, 'looking for file ' + filename) if os.path.isfile(filename): send_File(req, filename) else: log(3, 'Sending dynamic page: ' + req.uri) session = sessions.get_session(req) send_HTML(req, page_factory.page(uri)) return apache.OK
def document(req, title='', short_title='', pub_status_code='', type_code='', topic_code='', username='', maintained='', maintainer_wanted='', lang='', review_status_code='', tech_review_status_code='', pub_date='', last_update='', tickle_date='', isbn='', encoding='', rating='', format_code='', dtd_code='', license_code='', copyright_holder='', sk_seriesid='', abstract='', short_desc='', collection_code='', columns={}, layout='compact'): """ Returns the results of a document search. """ # Read session state sessions.get_session(req) uri = URI(req.uri) page = dms.page.get_by_id('doctable') # serve search results by manually replacing the # doctable here instead of during the regular call. # It's a bit ugly, but works. # We store and restore the contents to avoid doing # a copy.deepcopy() which I haven't tested but imagine to # be rather expensive. -- DCM save_page = page.page[uri.lang] table = tables.doctable(uri, title=title, short_title=short_title, pub_status_code=pub_status_code, type_code=type_code, topic_code=topic_code, username=username, maintained=maintained, maintainer_wanted=maintainer_wanted, lang=lang, review_status_code=review_status_code, tech_review_status_code=tech_review_status_code, pub_date=pub_date, last_update=last_update, tickle_date=tickle_date, isbn=isbn, encoding=encoding, rating=rating, format_code=format_code, dtd_code=dtd_code, license_code=license_code, copyright_holder=copyright_holder, sk_seriesid=sk_seriesid, abstract=abstract, short_desc=short_desc, collection_code=collection_code, layout=layout, show_search=1) page.page[uri.lang] = page.page[uri.lang].replace('|tabdocs|', table) uri = URI('doctable' + referer_lang_ext(req)) uri.base = '../../' html = page_factory.build_page(page, uri) # Restore the original page page.page[uri.lang] = save_page return html
def document(req, title='', short_title='', pub_status_code='', type_code='', topic_code='', username='', maintained='', maintainer_wanted='', lang='', review_status_code='', tech_review_status_code='', pub_date='', last_update='', tickle_date='', isbn='', encoding='', rating='', format_code='', dtd_code='', license_code='', copyright_holder='', sk_seriesid='', abstract='', short_desc='', collection_code='', columns={}, layout='compact' ): """ Returns the results of a document search. """ # Read session state sessions.get_session(req) uri = URI(req.uri) page = dms.page.get_by_id('doctable') # serve search results by manually replacing the # doctable here instead of during the regular call. # It's a bit ugly, but works. # We store and restore the contents to avoid doing # a copy.deepcopy() which I haven't tested but imagine to # be rather expensive. -- DCM save_page = page.page[uri.lang] table = tables.doctable(uri, title = title, short_title = short_title, pub_status_code = pub_status_code, type_code = type_code, topic_code = topic_code, username = username, maintained = maintained, maintainer_wanted = maintainer_wanted, lang = lang, review_status_code = review_status_code, tech_review_status_code = tech_review_status_code, pub_date = pub_date, last_update = last_update, tickle_date = tickle_date, isbn = isbn, encoding = encoding, rating = rating, format_code = format_code, dtd_code = dtd_code, license_code = license_code, copyright_holder = copyright_holder, sk_seriesid = sk_seriesid, abstract = abstract, short_desc = short_desc, collection_code = collection_code, layout = layout, show_search = 1) page.page[uri.lang] = page.page[uri.lang].replace('|tabdocs|', table) uri = URI('doctable' + referer_lang_ext(req)) uri.base = '../../' html = page_factory.build_page(page, uri) # Restore the original page page.page[uri.lang] = save_page return html