Re: [PythonCE] Running Python program without getting Python CE window

2006-03-02 Thread Luke Dunstan

The normal .py association on Windows is done with a couple of registry 
values:

1. Create a key: HKEY_CLASSES_ROOT\.py
2. Set the default value of this key to: Python.File
3. Create a key: HKEY_CLASSES_ROOT\Python.File\shell\open\command
4. Set the default value to: C:\Python24\python.exe %1 %*

Windows CE is the same but the command might be: \Program 
Files\PythonCE\python.exe %1

You could make .pyw work on WinCE by creating a key HKCR\.pyw and another 
like HKCR\Python.File.NoShell, with the appropriate command line. In fact I 
may do this in the next version of the PythonCE installer.

There are several ways to edit the registry. I've used two:
1. Total Commander, a free file manager for WinCE that includes a registry 
editor
2. Remote Registry Editor from MS eMbedded Visual C++

I've also used this command line console: 
http://www.symbolictools.de/public/pocketconsole/


Luke

- Original Message - 
From: Jeffrey Barish [EMAIL PROTECTED]
To: pythonce@python.org
Sent: Thursday, March 02, 2006 10:35 AM
Subject: [PythonCE] Running Python program without getting Python CE window


- Original Message - 
From: Jeffrey Barish [EMAIL PROTECTED]
To: pythonce@python.org
Sent: Friday, February 24, 2006 11:08 AM
Subject: [PythonCE] Running Python program without getting Python CE window

  Whenever I run a Python application, I get a window titled Python CE
that
  seems to capture stdout. Is it called the console? I would like to run
my
  application without getting that window. I had the impression that this
  window would not appear if I ran the application using pythonw. To that
  end,  I changed the first line of my application to
 
  #! /usr/bin/env pythonw
 
  (instead of /usr/bin/env/python). Changing this line has no effect in
  either CE or XP. What is the correct procedure?

 As somebody else mentioned, that is a Unix-specific feature. In Windows XP
 you can rename the file to .pyw to run it automatically with pythonw.exe. 
 On
 Windows CE there is no standard way but this might help:

 python /nopcceshell program.py

 Luke

Forgive my continued ignorance.  Changing the extension works fine in XP to
suppress the console window, but I don't understand how to enter the command
you suggested in CE.  Did you find a console for CE that permits you to type
in commands?  Does CE come with one (that I have been unable to locate)?

I also posted a related question last week, but I never saw my message in 
the
digest (which happens frequently).  I am also wondering what the procedure 
is
for attaching an icon to my application so that I can run the application by
tapping the icon?  And, to be precise, what I would like is to run my Python
program in such a way that the console window does not appear.  Perhaps
tapping the icon would run the command that you suggested above.
-- 
Jeffrey Barish
___
PythonCE mailing list
PythonCE@python.org
http://mail.python.org/mailman/listinfo/pythonce
___
PythonCE mailing list
PythonCE@python.org
http://mail.python.org/mailman/listinfo/pythonce


Re: [PythonCE] Running Python program without getting Python CE window

2006-03-02 Thread Ed Blake
--- Michael Foord [EMAIL PROTECTED] wrote:

 You ought to check out Wax. It's a friendly Pythonic layer that sits 
 atop of wx and IMHO is just as easy to use as Tkinter.

Lol! I've been using/tinkering with firedrop for a few weeks now so I am
vaguely familier with wax.  I don't really like the idea of using a largish
wrapper over the top of a huge library though, especially on a small embedded
device!  Also wax is incomplete, and as I've said I don't know enough Wx to
fix/add stuff.

BTW in Firedrop my page template was failing because the editor I was using
inserted tabs instead of spaces.  I didn't really feel like fixing my
template so I poked around in embedded_code.py.  If you add .replace('\t','
') to the return statement in replace_separators tabs vs. spaces becomes a
non-issue ^_^


--- Luke Dunstan [EMAIL PROTECTED] wrote:

 
 
 You could make .pyw work on WinCE by creating a key HKCR\.pyw and another 
 like HKCR\Python.File.NoShell, with the appropriate command line. In fact I
 
 may do this in the next version of the PythonCE installer.
 ...

Hope you don't mind, attached is my hacked version of setup-registry.py which
registers .pyw, and adds the PythonCE icon to all Python files!  It can
also be found here:
http://kitsu.petesdomain.com/files/WinCE/setup-registry.py

I haven't tested it yet!  My ipaq is out of commission for a while because I
needed its SD card -_-#
#	Setup the registry to allow us to double click on python scripts
#
from _winreg import *

print Setting up registry to allow\nrunning of Python files.

#
#	Create the registry entries for .py and .pyc extensions
#
for Name in (.py, .pyc):
Key = CreateKey(HKEY_CLASSES_ROOT, Name)
SetValue(Key, None, REG_SZ, Python.File)
CloseKey(Key)

#
#	Create the registry entry for .pyw extension
#
Key = CreateKey(HKEY_CLASSES_ROOT, .pyw)
SetValue(Key, None, REG_SZ, Python.File.Noconsole)
CloseKey(Key)

#
#	Create HKEY_CLASSES_ROOT\Python.File\Shell\Open\Command = \Program Files\Python\Lib\Python.exe %1
#
Key = CreateKey(HKEY_CLASSES_ROOT, Python.File)
for Name in (Shell,Open,Command):
  New_Key= CreateKey(Key, Name)
  CloseKey(Key)
  Key = New_Key
SetValue(Key, None, REG_SZ, \\\Storage Card\\python\\lib\\Python.exe\ \%1\)
CloseKey(Key)

print Setting up registry to allow\ndouble clicking of Python files to work

#
#	Create command key for nopcceshell (.pyw files)
#
Key = CreateKey(HKEY_CLASSES_ROOT, Python.File.Noconsole)
for Name in (Shell,Open,Command):
  New_Key= CreateKey(Key, Name)
  CloseKey(Key)
  Key = New_Key
SetValue(Key, None, REG_SZ, \\\Storage Card\\python\\lib\\Python.exe /nopcceshell\ \%1\)
CloseKey(Key)

#
#	Create keys for DefaultIcon
#
icon_path = \\Storage Card\\python\\lib\\python.exe,0
for name in (Python.File, Python.File.):
Key = CreateKey(HKEY_CLASSES_ROOT, name)
New_Key = CreateKey(Key, DefaultIcon)
SetValue(New_Key, None, REG_SZ, icon_path)
CloseKey(Key)
CloseKey(New_Key)
print 'Icon set to %s' %icon_path

import time
time.sleep(5)
___
PythonCE mailing list
PythonCE@python.org
http://mail.python.org/mailman/listinfo/pythonce


Re: [PythonCE] Running Python program without getting Python CE window

2006-03-02 Thread Thomas Heller
Ed Blake wrote:
 --- Michael Foord [EMAIL PROTECTED] wrote:
 
 You ought to check out Wax. It's a friendly Pythonic layer that sits 
 atop of wx and IMHO is just as easy to use as Tkinter.
 
 Lol! I've been using/tinkering with firedrop for a few weeks now so I am
 vaguely familier with wax.  I don't really like the idea of using a largish
 wrapper over the top of a huge library though, especially on a small embedded
 device!  Also wax is incomplete, and as I've said I don't know enough Wx to
 fix/add stuff.

I've lost the original email, butI hope this is still on topic:

Now that ctypes works on WindowsCE, someone should revive the venster project!

http://venster.sourceforge.net/htdocs/

Thomas

___
PythonCE mailing list
PythonCE@python.org
http://mail.python.org/mailman/listinfo/pythonce


Re: [PythonCE] Running Python program without getting Python CE window

2006-03-02 Thread Ed Blake

--- Thomas Heller [EMAIL PROTECTED] wrote:

 
 I've lost the original email, butI hope this is still on topic:
 
 Now that ctypes works on WindowsCE, someone should revive the venster
 project!
 
 http://venster.sourceforge.net/htdocs/
 

Very cool project, I've been thinking for a while that a Pythonic wrapper
around Windows ui stuff would be very handy... but the inability to
fix/extend goes double for microsoft stuff. 
It would be nice if there were good win32ui docs/tutorials/guides.  It
seems to wrap a lot of stuff, but I have next to zero knowledge concerning
windows ui programming and the wrapping looks pretty raw!
___
PythonCE mailing list
PythonCE@python.org
http://mail.python.org/mailman/listinfo/pythonce