how to edit .wsgi file extebtions with IDLE on windows

gert gert.cuykens at gmail.com
Sun Aug 30 01:29:43 CEST 2009


On Aug 29, 11:16 pm, "Gabriel Genellina" <gagsl-... at yahoo.com.ar>
wrote:
> En Sat, 29 Aug 2009 17:14:14 -0300, gert <gert.cuyk... at gmail.com> escribió:
>
> > On Aug 29, 9:31 pm, Chris Rebert <c... at rebertia.com> wrote:
> >> On Sat, Aug 29, 2009 at 5:40 AM, gert<gert.cuyk... at gmail.com> wrote:
> >> > On Aug 29, 6:43 am, "Gabriel Genellina" <gagsl-... at yahoo.com.ar>
> >> > wrote:
> >> >> En Fri, 28 Aug 2009 15:31:31 -0300, gert <gert.cuyk... at gmail.com>  
> >> escribió:
>
> >> >> > I can't figure out how to enable the .py shell and syntax  
> >> highlighting
> >> >> > for .wsgi file extensions using IDLE for windows ?
>
> >> >> That's a Windows question, not a Python one. You have to associate  
> >> the
> >> >> .wsgi extension with the Python.File file type (the one used for .py
> >> >> files):
>
> >> >> D:\USERDATA\Gabriel>assoc .py
> >> >> .py=Python.File
>
> >> >> D:\USERDATA\Gabriel>assoc .wsgi=Python.File
> >> >> .wsgi=Python.File
>
> >> > Thanks that does make it open exactly like a .py file, expect that
> >> > there is no syntax highlighting. Don't know if this is also a windows
> >> > issue or a IDLE issue ?
>
> >> That's an IDLE issue; it only highlights files with .py (and possibly
> >> .pyw) extensions.
>
> > Any chance they would make a highlight option in the menu ?
>
> Two alternatives:
>
> a) Ensure your scripts contain a shebang - no purpose on Windows, but IDLE  
> recognizes the file as a Python file. That is, make sure the very first  
> line is like this:
>
> #!c:\python26\python.exe
>
> (it must start with #! and contain the word "python" somewhere)
>
> b) Edit IDLE sources:
>
> - Locate the file EditorWindow.py in the idlelib package.
>
> - Add this line near the top:
>    import _winreg
>
> - Modify function ispythonsource near line 580 as follows:
>
>      def ispythonsource(self, filename):
>          if not filename or os.path.isdir(filename):
>              return True
>          base, ext = os.path.splitext(os.path.basename(filename))
>          if os.path.normcase(ext) in (".py", ".pyw"):
>              return True
>          ### add these 4 lines ###
>          with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, ext) as key:
>              ftype = _winreg.QueryValueEx(key, None)[0]
>              if ftype.lower() in ("python.file","python.noconfile"):
>                  return True
>          ### end ###
>          try:
>              f = open(filename)
>              line = f.readline()
>              f.close()
>          except IOError:
>              return False
>          return line.startswith('#!') and line.find('python') >= 0
>

Thanks. Can you make a ispythonsource menu option in the next
python3.x release? There are many examples of txt, xml or wsgi files
having python parts in them.



More information about the Python-list mailing list