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  ----

Reply via email to