Вчера столкнулся с одной “траблой”. Опишу исходные данные:

Python 2.5.4
Paste 1.7.2


При попытке выполнения блока
...
from paste import fileapp
def staticFileApp(filename):
return fileapp.FileApp(filename)

на свежеустановленом Arche был обнаружен “глюк” - если в качестве filename передавалась html-страница (к примеру, index.html), то все было хорошо… А вот если filename - xhtml-страница - все падало… Вернее, браузер возвращал страницу (предлагал скачивать) как бинарный файл…

Покопав исходники “Пасты”, в файле mimetypes.py нашел то, что было нужно… По-умолчанию, Paste “не знает”, как корректно обрабатывать подобные файлы… И предлагалось (в принципе) два варианта:
  • Отредактировать файл mimetypes.py, добавив в словарь types_map соответствующую запись. Этот вариант отмел сразу, поскольку не считаю редактирование файлов библиотек хорошим подходом
  • В результате, выбрал второй путь - в файл /etc/mime.types (файла у меня, кстати, и не было, создал новый) добавил строку
    application/xhtml+xml xhtml xht

Все, проблема решена. Заработало :).