Bastos

let’s code!


Pylons, Firebird, problemas (e soluções)

Acho que vários programadores já tiveram problemas com codificações, utf-8, iso, latin… Bem, eu tinha um grande, o banco que estou trabalhando é um Firebird , latin-1 e o Sqlobject + mako + Pylons não se entenderam muito bem! Solução: Toda a plicação está utf-8:

# -*- coding: utf-8 -*-

E o model está

# -*- coding: iso-8859-1-*-

O SqlObject (vou falar depois sobre banco de dados legado) é muito legal e nos dá opções de encoding da coluna:

body = UnicodeCol(dbName='MSG_BODY', dbEncoding="iso-8859-1", default='')

O Pylons e o Mako permitem setar encode de inpurt e output (enviroment.py no load_environment):

    tmpl_options['mako.input_encoding'] = 'iso-8859-1'
    tmpl_options['mako.output_encoding'] = 'utf-8'
    tmpl_options['mako.default_filters'] = ['decode.utf8']
    request_settings = dict(charset='utf-8', errors='replace') 

    config['pylons.response_options']['charset'] = 'utf-8'

Assim tudo funcionou perfeitamente, 2 dias de pura loucura tentando fazer funcionar e agora parece estar tudo bem. Ponto para a documentação do Pylons e do Mako que, ambas, tem páginas tratando somente desse assunto.

Mudei minha mente sobre o Pylons agora que terminei uns testes, é um framework que cabe na cabeça e de fácil utilização, a documentação ainda perde para a do Django mas me foi bem mais útil que a do TurboGears, e como falou-se aqui, ele (TG) tem uma api instável (o bom é que vão mudar para o modelo do Pylons).

Published by Bastos, on August 24th, 2007 at 9:57 am.
Filled under: firebird, pylons, python 1 Comment

One Response to “Pylons, Firebird, problemas (e soluções)”

  1. Eu tenho mexido bastante com o Pylons, e a impressão que eu tive foi muito boa! Mas estou usando com SQLAlchemy e Elixir!

    Comment by Walter Cruz on September 1, 2007 at 2:01 pm



Leave a Reply