Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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