view contrib/sawmill/web/index.py @ 467:7fd8af79e652

check if tracks directory exists before walking it.
author Sascha Teichmann <teichmann@intevation.de>
date Thu, 09 Sep 2010 15:13:35 +0000
parents 333232953771
children d8012571f9e1
line wrap: on
line source
# -*- coding: UTF-8 -*-
#
# Copyright (C) 2010 by Intevation GmbH
# Authors:
# Sascha L. Teichmann <sascha.teichmann@intevation.de>
#
# This program is free software under the GPL (>=v2)
# Read the file COPYING coming with the software for details.

from mod_python import psp

import os

from lxml import etree

TREEPKG_DIR = os.path.join(os.path.dirname(__file__), "treepkgs")

def index(req):
    req.content_type = 'text/html;charset=utf-8'    
    template = psp.PSP(req, filename='templates/overview.html')

    descriptions = []

    for f in os.listdir(TREEPKG_DIR):
        d = os.path.join(TREEPKG_DIR, f)
        if not os.path.isdir(d): continue
        treepkg_xml = os.path.join(d, "treepkg.xml")
        if not os.path.isfile(treepkg_xml): continue
        xml = None
        try:
            xml = open(treepkg_xml, "rb")
            dom = etree.parse(xml)
        finally:
            if xml: xml.close()

        description = ''.join(dom.xpath("//description/text()"))

        descriptions.append((os.path.basename(d), description))

    template.run({'descriptions': descriptions})
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)