Re: [zope-pt] Erro de Indentação

2007-06-28 Por tôpico Cezar Piccolo

Só para ajudar, eu utilizo esse editor crimson
http://www.crimsoneditor.com/muito bom é freeware

Em 27/06/07, Luciano Ramalho <[EMAIL PROTECTED]> escreveu:


  On 6/27/07, SnapNoris <[EMAIL PROTECTED] >
wrote:
> Gente, eu estou recebendo um erro de indentação na hora de fazer o meu
> produto com archtype

Isso não tem relação com o Windows.

Independente da plataforma, o Python entende um TAB como equivalente a
8 brancos. Se o seu editor exibe um TAB como 4 brancos, um programa
que parece visualmente correto estará sintaticamente errado.

O melhor a fazer é *nunca* usar TABs em programas Python. Configure o
seu editor de modo que ao teclar TAB ele emita 4 caracteres de espaço,
e *não* um caractere de TAB. Use um editor onde você consiga
distinguir visualmente os TABs dos espaços. Se você usa Windows eu
recomendo o notepad++ [1] ou o Komodo Edit [2] (bem mais pesado, porém
cheio de recursos interessantes). Ambos são gratuitos, e o notepad++ é
livre além de ser gratuito.

[1] http://notepad-plus.sourceforge.net/uk/site.htm
[2] http://www.activestate.com/Products/komodo_edit/

[ ]s
Luciano

PS. Em minha opinião, o Python deveria dar erro de sintaxe *sempre*
que fossem usados TABs na indentação. Desta forma, este problema seria
bem mais fácil de detectar. Desde o Python 2.0 existe um módulo
distribuído com o Python chamado tabnanny.py [3], literalmente, babá
de tabs. O que ela faz é detectar casos de indentação ambígua usando
tabs e espaços misturados.

[3] http://docs.python.org/lib/module-tabnanny.html
 



Re: [zope-pt] Erro de Indentação

2007-06-27 Por tôpico Luciano Ramalho
On 6/27/07, SnapNoris <[EMAIL PROTECTED]> wrote:
> Gente, eu estou recebendo um erro de indentação na hora de fazer o meu
> produto com archtype

Isso não tem relação com o Windows.

Independente da plataforma, o Python entende um TAB como equivalente a
8 brancos. Se o seu editor exibe um TAB como 4 brancos, um programa
que parece visualmente correto estará sintaticamente errado.

O melhor a fazer é *nunca* usar TABs em programas Python. Configure o
seu editor de modo que ao teclar TAB ele emita 4 caracteres de espaço,
e *não* um caractere de TAB. Use um editor onde você consiga
distinguir visualmente os TABs dos espaços. Se você usa Windows eu
recomendo o notepad++ [1] ou o Komodo Edit [2] (bem mais pesado, porém
cheio de recursos interessantes). Ambos são gratuitos, e o notepad++ é
livre além de ser gratuito.

[1] http://notepad-plus.sourceforge.net/uk/site.htm
[2] http://www.activestate.com/Products/komodo_edit/

[ ]s
Luciano

PS. Em minha opinião, o Python deveria dar erro de sintaxe *sempre*
que fossem usados TABs na indentação. Desta forma, este problema seria
bem mais fácil de detectar. Desde o Python 2.0 existe um módulo
distribuído com o Python chamado tabnanny.py [3], literalmente, babá
de tabs. O que ela faz é detectar casos de indentação ambígua usando
tabs e espaços misturados.

[3] http://docs.python.org/lib/module-tabnanny.html


[zope-pt] Erro de Indentação

2007-06-27 Por tôpico SnapNoris
Gente, eu estou recebendo um erro de indentação na hora de fazer o meu
produto com archtype


Tipo de Erro
exceptions.IndentationError
Valor do Erro
expected an indented block (install.py, line 8) 

Mas aparentemente, está tudo correto, me falaram que o TAB do windows
poderia gerar algum erro. Abaixo, o meu código, que eu espero aparecer
indentado na mensagem. Se alguem puder ajudar.


from Products.Archetypes.Extensions.utils import installTypes
from Products.Archetypes.public import listTypes
from Products.Quotation.config import PROJECTNAME, GLOBALS
import StringIO

def install(self):
out = StringIO.StringIO()
installTypes(self, out, listTypes(PROJECTNAME), PROJECTNAME)
out.write("Installed: " + PROJECTNAME)
return out.getvalue()