Erro de de Python, UTF, em aplicativo Sabayon.

1. Erro de de Python, UTF, em aplicativo Sabayon.

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 18/08/2014 - 20:57h

Pessoal quwe mexe com Python:

Estou testando a versão nova do Molecule, um Remasterizador para Sabayon, em python interpretado
as versões antigas funcionavam, ex:

http://www.vivaolinux.com.br/artigo/-Sabayon-Linux-remasterizado-para-placas-de-video-ATI

Na versão nova, ao usar para remasterizar, o seguinte erro ocorre e a compilação para:


sudo molecule novaremaster.spec
Senha:
Traceback (most recent call last):
File "/usr/bin/molecule", line 29, in <module>
parse_data = molecule.cmdline.parse()
File "/usr/lib/molecule/molecule/cmdline.py", line 61, in parse
obj = SpecParser(el)
File "/usr/lib/molecule/molecule/settings.py", line 218, in __init__
execution_strategy = self.parse_execution_strategy()
File "/usr/lib/molecule/molecule/settings.py", line 230, in parse_execution_strategy
data = self._generic_parser()
File "/usr/lib/molecule/molecule/settings.py", line 300, in _generic_parser
content = self._preprocessor.parse()
File "/usr/lib/molecule/molecule/settings.py", line 190, in parse
for line in spec_f.readlines():
File "/usr/lib64/python2.7/codecs.py", line 676, in readlines
return self.reader.readlines(sizehint)
File "/usr/lib64/python2.7/codecs.py", line 585, in readlines
data = self.read()
File "/usr/lib64/python2.7/codecs.py", line 474, in read
newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc7 in position 736: invalid continuation byte


Aí postei um Bug no Bugzilla Sabayon:

https://bugs.sabayon.org/show_bug.cgi?id=4769

e a resposta de Fábio Erculiani, o desenvolvedor do Sabayon e do Molecule, disse que há algum caractere não reconhecido nos meus arquivos de configuração UTF...

Mas meus locale estão normais, pt_BR e outros:


locale
LANG=pt_BR.UTF-8
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC="pt_BR.UTF-8"
LC_TIME="pt_BR.UTF-8"
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY="pt_BR.UTF-8"
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER="pt_BR.UTF-8"
LC_NAME="pt_BR.UTF-8"
LC_ADDRESS="pt_BR.UTF-8"
LC_TELEPHONE="pt_BR.UTF-8"
LC_MEASUREMENT="pt_BR.UTF-8"
LC_IDENTIFICATION="pt_BR.UTF-8"
LC_ALL=pt_BR.UTF-8

locale -a
en_GB
en_GB.iso88591
en_GB.utf8
en_US
en_US.iso88591
en_US.utf8
portuguese
POSIX
pt_BR
pt_BR.iso88591
pt_BR.utf8
pt_PT
pt_PT@euro
pt_PT.iso88591
pt_PT.iso88591@euro
pt_PT.utf8


Não sou programador, eu usei o aplicativo molecule, não o escreví... qual seria meu arquivo defeituoso?

Abaixo posto a linha do arquivo, onde fala que o erro aparece:


newdata = self.stream.read(size)
# decode bytes (those remaining from the last call included)
data = self.bytebuffer + newdata
try:
474 a linha errada: newchars, decodedbytes = self.decode(data, self.errors)
except UnicodeDecodeError, exc:
if firstline:
newchars, decodedbytes = self.decode(data[:exc.start], self.errors)
lines = newchars.splitlines(True)
if len(lines)<=1:
raise
else:
raise
# keep undecoded bytes until the next call



Tentei com python3, sabayon tem várias versões de Python, selecionáveis com comando eselect. com python3,os erros são idênticos, as mesmas mensagens,só muda o diretório para o do python3.

Todas as soluções que vejo na net, exigem que se edite o código python, ou seja, eu teria de mexer no código do molecule?
E os exemplos na net são para outros programas python e não molecule, só o erro é semelhante.



  


2. Re: Erro de de Python, UTF, em aplicativo Sabayon.

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 25/08/2014 - 19:20h

up






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts