Had a long day. I will look at this more in detail tomorrow.

On Apr 19, 10:16 pm, Jonathan Lundell <[email protected]> wrote:
> 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