class band_detail(DetailBand):
height = 0.7*cm
elements = [
#Label(text='Name'),
ObjectValue(expression='id', left=1.5*cm),
ObjectValue(expression='descricao', left=5.5*cm),
]
borders = {'bottom': True}
por ingenuidade fiz assim :
ObjectValue(expression=unicode('descricao','UTF-8'), left=5.5*cm),
Deu o mesmo erro: UnicodeDecodeError: 'ascii' codec can't decode byte
0xc3 in position 2: ordinal not in range(128)
Em 09/08/11, John Evan Dizaro<johnd...@gmail.com> escreveu:
> Já tentou isto?
> for i in res:
>
> self.LstCadItem.append([
> unicode(i['x01_descricao_grupo'],'UTF-8'),
> unicode(i['x02_descricao_subgrupo'],'UTF-8'),
File "C:/web2py_source/applications/igreja/controllers/default.py",
line 226, in <lambda>
ObjectValue(expression='descricao', left=5.5*cm, get_value=lambda
instance: instance.descricao.encode('latin-1')),
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
13: ordinal not in range(128)
Em 16/08/11, Marcos Thomaz<marcos...@gmail.com> escreveu:
Será que essas classes abaixo precisam ter alguma configuração ? elas
são referenciadas na mensagem de erro.
restricted.py,
pdf.py,
base.py
widgets.py
Todos arquivos já estão com esta codificação. Lembrando que estou
utilizando o framework web2py.
ObjectValue(expression='descricao', left=5.5*cm, get_value=lambda
instance: u'%s'%instance.descricao),
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
0: ordinal not in range(128)
Em 17/08/11, Marcos Thomaz<marcos...@gmail.com> escreveu:
ObjectValue(expression='descricao', left=5.5*cm, get_value=lambda
instance: instance.descricao.decode('utf8').encode('cp1252')),
ObjectValue(expression='descricao', left=5.5*cm, get_value=lambda
instance: u'%s'%instance.descricao),
ObjectValue(expression='descricao', left=5.5*cm, get_value=lambda
instance: instance.descricao.encode('utf8')),
A mensagem nos dois casos é esta : AttributeError: 'Field' object has
no attribute 'decode'
Segue o código :
class band_detail(DetailBand):
height = 0.7*cm
texto = db.bairro.descricao.decode('utf8').encode('cp1252')
elements = [
ObjectValue(expression='id', left=1.5*cm),
ObjectValue(expression='texto', left=5.5*cm),
]
borders = {'bottom': True}
Em 17/08/11, Marcos Thomaz<marcos...@gmail.com> escreveu:
e novamente deu o mesmo erro:
texto = db.bairro.descricao.decode('utf8')
AttributeError: 'Field' object has no attribute 'decode'
Em 17/08/11, Frederico Vieira<frederic...@gmail.com> escreveu:
Segue em anexo o arquivo com minhas actions, a def que estamos em
questão é a relatorio_bairro():
class MyObject(object):
def __init__(self, **kwargs):
for k,v in kwargs.items():
setattr(self, k, v)
objects_list = [
MyObject(id=1, descricao='Centro'),
MyObject(id=2, descricao='Vila Uniao'),
]
report = MyReport(queryset=objects_list)
Funciona, só fica faltando essa rotina pra fazer a leitura.
Em 18/08/11, vvsoftware<valm...@gmail.com> escreveu:
Foi criado uma rotina pra tirar o acento.
from unicodedata import normalize
def remover_acentos(txt, codif='utf-8'):
return normalize('NFKD', txt.decode(codif)).encode('ASCII','ignore')
na def relatorio_bairro()
. . .
query = db(db.bairro.id>0).select(orderby=db.bairro.descricao)
registros = []
for tab in query:
registros.append({'id':tab.id,'descricao':remover_acentos(tab.descricao)})
report = MyReport(queryset=registros)
Bem melhor que o código anterior! rsrsrs.
Em 18/08/11, Valmadson Santos<valm...@gmail.com> escreveu:
CREATE TABLE BAIRRO (
ID INTEGER NOT NULL DEFAULT nextval('bairro_id_seq'::regclass),
CONTROLE VARCHAR(20),
DESCRICAO VARCHAR(50),
CONSTRAINT PK_BAIRRO PRIMARY KEY (ID)
);
CREATE SEQUENCE bairro_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;