Re: [python-win32] String weirdness on python 2.4 / windows

2005-10-20 Thread Tim Roberts
On Wed, 19 Oct 2005 09:51:32 +1000, Kinsley Turner 
[EMAIL PROTECTED] wrote:

Hey-ho,

I'm having a problem with some binary data read into a string.

Basically I open an icon file rb, read() it into a string, then
spit it back down on a web request for /favicon.ico.

It works fine under unix, but under Win32 Python 2.4.2 (#67, Sep 28 2005 
...
It comes back corrupted.

Similiarly I have a string with the IBM-extended-ASCII degrees symbol 
(ascii 0xb0) 
that is read in from a network-connected field device.  Somehow this ends 
up with 
an extended 'A' (with a single dot over it.) prepended before it.

Is there some sort of new 2.4 string encoding option I've missed ?
Never seen anything like this before.

I have the # -*- coding: iso-8859-1 -*- atop my files.



Are you writing this as a CGI process in Apache/Win32?  Have you 
redefined your stdout to be binary?  By default, Python opens its stdout 
as binary, so when you write this out to the socket, the file system 
will helpfully translate 0A to 0D/0A.  You need something like this:

import msvcrt
msvcrt.setmode( 0, os.O_BINARY )
msvcrt.setmode( 1, os.O_BINARY )

-- 
Tim Roberts, [EMAIL PROTECTED]
Providenza  Boekelheide, Inc.

___
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32


Re: [python-win32] String weirdness on python 2.4 / windows

2005-10-19 Thread Justin Ezequiel
 Date: Thu, 20 Oct 2005 10:04:24 +1000
 From: Kinsley Turner [EMAIL PROTECTED]

 I checked the icon, it seemed to be ok.  I'm unfamiliar with win32
 tools, but it seemed that the data being delivered from the socket
 rendered differently from a python print() compared to a terminal
 'type icon.ico'.  I cut the code out and tested it in isolation - this
 showed it to be flawless.  Despite appearing correct in other software
 the binary identical icon appears broken in IE 6.something.

for what its worth, had a similar problem serving up images from a
Python CGI script running on Apache on WinXP.

what worked for me was adding the -u switch to the shebang
#!E:\Python23\python.exe -u

-u : unbuffered binary stdout and stderr (also PYTHONUNBUFFERED=x)
 see man page for details on internal buffering relating to '-u'

hope this helps
___
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32


Re: [python-win32] String weirdness on python 2.4 / windows

2005-10-19 Thread Gabriel Genellina
At Wednesday 19/10/2005 21:04, you wrote:

I think you might be correct with the headers suggestion, that was
going to be my next point of investigation.  I don't think the
MIME type of image/bmp is acceptable to IE.

Should be image/vnd.microsoft.icon or image/x-icon, but NOT image/bmp
(icon files having different format than bmp files)


Gabriel Genellina
Softlab SRL 

___
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32