noor / noorhtmls.py

#!/usr/bin/env python
import os.path
import sys

from noor import uihelpers, htmlhelper, i18n


def generate_htmls(folder=None):
    if not os.path.exists(folder):
        os.mkdir(folder)
    config = uihelpers.get_config()
    quran = uihelpers.get_quran(config)
    trans = uihelpers.get_translation(config)
    uihelpers.set_lang(config)

    index = open(os.path.join(folder, 'index.html'), 'wb')
    index.write(htmlhelper.get_suralist_page(
                quran, config, _sura_href).encode('utf-8'))
    index.close()
    for i in range(len(quran.suras)):
        text = htmlhelper.get_sura_page(quran, trans, config, i + 1)
        filename = _sura_href(i + 1)
        sura_file = open(os.path.join(folder, filename), 'wb')
        sura_file.write(text.encode('utf-8'))
        sura_file.close()


def _sura_href(number):
    return '%03d.html' % number


if __name__ == '__main__':
    if len(sys.argv) >= 3:
        print 'Usage: %s output_folder' % sys.argv[0]
        sys.exit(1)
    if len(sys.argv) > 1:
        output = sys.argv[1]
    else:
        output = raw_input("Output directory name: ")
    if output:
        print "Generating html files..."
        generate_htmls(output)
        print
        print "Files were generated successfully!"
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.