En Sat, 29 Aug 2009 17:14:14 -0300, gert <gert.cuyk...@gmail.com> escribió:
On Aug 29, 9:31 pm, Chris Rebert <c...@rebertia.com> wrote:
On Sat, Aug 29, 2009 at 5:40 AM, gert<gert.cuyk...@gmail.com> wrote:
> On Aug 29, 6:43 am, "Gabriel Genellina" <gagsl-...@yahoo.com.ar>
> wrote:
>> En Fri, 28 Aug 2009 15:31:31 -0300, gert <gert.cuyk...@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
--
Gabriel Genellina
--
http://mail.python.org/mailman/listinfo/python-list