The problem is that with the patch if you try open the files with a windows editor, the line-endings will not have the CR and may not be indented as expected.
On Apr 24, 6:38 pm, villas <[email protected]> wrote: > If we wish to maintain consistent line-endings, it seems clear that > we should use this patch. > > Having said that, this has not caused any problems for me in the > past. > > On Apr 24, 2:30 pm, Massimo Di Pierro <[email protected]> > wrote: > > > > > > > > > Hello Keishi, thanks for the patch. > > This has pros and cons. Let's discuss it on web2py-developers and feel > > free to join. > > > Other windows users, what do you think? > > > Massimo > > > On Apr 24, 12:40 am, Keishi Ooshio <[email protected]> wrote: > > > > I use web2py-1.94.6 at WindowsXp sp3. > > > I make application "foo" with "New simple application" on "http:// > > > 127.0.0.1:8000/admin/default/site". > > > I clicked "edit" under "foo" and "edit" under "Controllers". > > > Doing nothing,I pushed save button.Then, End_Of_Line is changed from > > > LF(\n) to CRLF(\r\n). > > > > ---- print out with od -c(cygwin) ---- > > > keishi@kotori /cygdrive/c/web2py/web2py-1.94.6/applications/foo/ > > > controllers > > > $ head -n 1 default.py|od -c > > > 0000000 # - * - c o d i n g : u > > > t > > > 0000020 f - 8 - * - \r \n > > > 0000031 > > > > ---- end ---- > > > > I think this makes confusion between Windows user and Liunx user. > > > So I propose that we use open([file],"wb") in opening file for writing > > > on all platform because "b" is ignored > > > > except Windows and in reading no ploblem is found. > > > There is a patch with "hg export" below.(Repository is cloned with "hg > > > clonehttps://web2py.googlecode.com/hg/ > > > > web2py" on April 20 2011.) > > > > ---- start ---- > > > > # HG changeset patch > > > # User Keishi Ooshio <[email protected]> > > > # Date 1303271041 -32400 > > > # Node ID 4eb4d5ed36842c0cfde337c43709c970bfb99418 > > > # Parent 9c0bfc66640443cb58db7854b3e9f1eaa0d0c23e > > > In Editting on Windows ,Make End_Of_Line LF > > > > diff -r 9c0bfc666404 -r 4eb4d5ed3684 applications/admin/controllers/ > > > default.py > > > --- a/applications/admin/controllers/default.py Wed Apr 20 11:51:41 > > > 2011 +0900 > > > +++ b/applications/admin/controllers/default.py Wed Apr 20 12:44:01 > > > 2011 +0900 > > > @@ -5,6 +5,7 @@ > > > from glob import glob > > > import shutil > > > import platform > > > +import re > > > > if DEMO_MODE and request.function in > > > > ['change_password','pack','pack_plugin','upgrade_web2py','uninstall','clean > > > up','compile_app','remove_compiled_app > > > > ','delete','delete_plugin','create_file','upload_file','update_languages',' > > > reload_routes']: > > > session.flash = T('disabled in demo mode') > > > @@ -23,6 +24,8 @@ > > > class tmp: > > > def write(self,data): pass > > > return tmp() > > > + if platform.system() == 'Windows': > > > + b = re.sub(r"wb?","wb",b) > > > return open(a,b) > > > > def get_app(name=None): > > > diff -r 9c0bfc666404 -r 4eb4d5ed3684 applications/admin/controllers/ > > > gae.py > > > --- a/applications/admin/controllers/gae.py Wed Apr 20 11:51:41 2011 > > > +0900 > > > +++ b/applications/admin/controllers/gae.py Wed Apr 20 12:44:01 2011 > > > +0900 > > > @@ -55,7 +55,7 @@ > > > data=open(yaml,'r').read() > > > data = re.sub('application:.*','application: %s' % > > > form.vars.google_application_id,data) > > > data = regex.sub('(applications/(%s)/.*)|' % > > > '|'.join(ignore_apps),data) > > > - open(yaml,'w').write(data) > > > + open(yaml,'wb').write(data) > > > > path = request.env.applications_parent > > > cmd = '%s --email=%s --passin update %s' % \ > > > diff -r 9c0bfc666404 -r 4eb4d5ed3684 applications/admin/controllers/ > > > mercurial.py > > > --- a/applications/admin/controllers/mercurial.py Wed Apr 20 > > > 11:51:41 > > > 2011 +0900 > > > +++ b/applications/admin/controllers/mercurial.py Wed Apr 20 > > > 12:44:01 > > > 2011 +0900 > > > @@ -29,7 +29,7 @@ > > > repo = hg.repository(ui=uio, path=path, create=True) > > > hgignore = os.path.join(path, '.hgignore') > > > if not os.path.exists(hgignore): > > > - open(hgignore, 'w').write(_hgignore_content) > > > + open(hgignore, 'wb').write(_hgignore_content) > > > return repo > > > > def commit(): > > > > ---- end ----

