As a halfway fix, how about the patch below?

On Apr 19, 2010, at 2:48 PM, Jonathan Lundell wrote:

> I've been trying to install an app through admin, and it's been failing. 
> (Problem #1: there's no feedback at all when this happens, just a message 
> that the install failed; I had to run a debugger to find out why.)
> 
> It turned out that fix_newlines was raising an exception because it was 
> trying to write a .py file that was read-only. It was read-only because my 
> app is under Perforce source control, and read-only is the normal state for 
> files not being edited.
> 
> So when the app was packed, tar preserved the read-only state of the files, 
> and when fix_newlines tries to write them, kablooey.
> 
> My workaround is below: since this is a Unix system, fix_newlines isn't 
> really necessary. I made the rewrite conditional on there actually being a 
> change. Now, this is perhaps a good thing to do regardless, but of course it 
> doesn't solve the problem in the Windows case.
> 
> I'm not sure what the right fix is, though this one is adequate for me. Maybe 
> fix_newlines should make the file writable if necessary?
> 
> 
> def fix_newlines(path):
>    regex = re.compile(r'''(\r
> |\r|
> )''')
>    for filename in listdir(path, '.*\.(py|html)$', drop=False):
>        fp = open(filename, 'rb')
>        rdata = fp.read()
>        fp.close()
>        wdata = regex.sub('\n', rdata)
>        if wdata != rdata:
>            fp = open(filename, 'wb')
>            fp.write(wdata)
>            fp.close()
> 




-- 
Subscription settings: http://groups.google.com/group/web2py/subscribe?hl=en

Reply via email to