Kirby Urner wrote:
>>I do know the pov-ray people have been pretty insistent on making sure
>>nobody repackages it in a way you don't see their interface. I think
>>we'd need to wait for the repackaging they are in the midst of.
> I think it's fine to invoke povray from within Python using os.system
> or some such. Povray remains an independent program with its own
> identity.
I know we are free individually to make these changes. However, I'd
like some clarification to verify the command-line thing-ami-bob would
not incur their ire (I'm unclear where they draw the line, and they
have felt very burned at least a few times).
> I have a pov.py that looks like this, which might give some ideas. But yes,
> in this version the paths to the pvengine are hardcoded. It'd take some
> doing (not a lot) to make this more friendly to configure (not my need at
> this time). But at least I test for which operating system (no Mac option
> as yet).
>
> def render(filename="default.pov"):
> if os.name == 'linux2':
> linuxcomm = "povray +V +W640 +H480 +FN16 +AM2 +Q9 +A0.3 +P
> +L/home/urnerk/include"
> print "Rendering... (this will take some time)"
> os.system(linuxcomm+" +I"+filename)
>
> if os.name == 'nt':
> wincomm = '"c:\\program files\\POV-Ray for Windows
> v3.5\\bin\\pvengine" -V fpp.ini'
> print "Rendering... (this will take some time)"
> # os.system(wincomm+" +I"+filename)
> os.system(wincomm)
How about something like:
def render(filename="default.pov"):
if os.name == 'linux2':
cmd = ("povray +V +W640 +H480 +FN16 +AM2 "
"+Q9 +A0.3 +P +L/home/urnerk/include +I"
+ filename)
elif os.name == 'nt':
cmd = ('"c:\\program files\\POV-Ray for '
'Windows v3.5\\bin\\pvengine" -V fpp.ini')
# or use r'HKLM\SOFTWARE\Classes\Applications'
# r'\pvengine.exe\shell\RenderAndExit\command'
else:
raise NotImplementedError, 'Not ready for os %r' % os.name
print "Rendering... (this will take some time)"
os.system(cmd)
-Scott David Daniels
Scott.Daniels(a)Acm.Org