visual indentation

Greg Krohn ask at me.com
Fri Aug 22 18:52:13 EDT 2003


"Hilbert" <Hilbert at panka.com> wrote in message
news:slrnbkcja7.s51.Hilbert at server.panka.com...
> Hello,
>
> I'm using python to output RIB streams for Renderman.
> The RIB stream is a bunch of statements which describes
> a 3d image. The Rib standard allows for blocks which we
> usually indent for better visualization for example:
>
> WorldBegin
>     Color [1 1 1]
>     Surface "constant"
>     Sphere(1.0, -1.0, 1.0, 360)
> WorldEnd
>
> I'm using CGKit in python which has a Renderman binding,
> so to output the same RIB I'd write:
>
> RiWorldBegin()
>     RiColor(1.0,1.0,1.0)
>     RiSurface('constant')
>     RiSphere(1.0,-1.0,1.0,360)
> RiWorldEnd()
>
> But I get an error, because python interprets my indentation
> as a block in the python code. So the only way to write this
> is without the indentation:
>
> RiWorldBegin()
> RiColor(1.0,1.0,1.0)
> RiSurface('constant')
> RiSphere(1.0,-1.0,1.0,360)
> RiWorldEnd()
>
> But this is a lot harder to read.
>
> Is there any way to use such "visual" indentation in python?
>
> Thanks,
> Hilbert
>
> hilbert at panka.com
>
>

What about an if statement:

RiWorldBegin()
if True:
    RiColor(1.0,1.0,1.0)
    RiSurface('constant')
    RiSphere(1.0,-1.0,1.0,360)
RiWorldEnd()

I realize it's ugly, but it's easy.






More information about the Python-list mailing list