noor / noorcgi.py

#!/usr/bin/env python
import cgi
import cgitb
import os
import sys


cgitb.enable()
# Add noor to the python path if its not installed:
sys.path.append('/home/ali/projects/noor')
from noor import uihelpers, htmlhelper, i18n


def handle_request(query_string=None):
    query = {}
    if query_string is not None:
        query = cgi.parse_qs(query_string)

    config = uihelpers.get_config()
    quran = uihelpers.get_quran(config)
    uihelpers.set_lang(config)
    trans = uihelpers.get_translation(config)

    if 'sura' in query:
        sura_number = int(query['sura'][0])
        return htmlhelper.get_sura_page(
            quran, trans, config, sura_number).encode('utf-8')
    else:
        url = uihelpers.get_option(config, 'cgi.url', 'noorcgi.py')
        def _sura_href(number):
            return '%s?sura=%s' % (url, number)
        return htmlhelper.get_suralist_page(
            quran, config, _sura_href).encode('utf-8')


print 'Content-Type: text/html'
print
query_string = os.environ.get('QUERY_STRING', None)
print handle_request(query_string)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.