You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(38) |
Nov
(98) |
Dec
(58) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(114) |
Feb
(123) |
Mar
(96) |
Apr
(66) |
May
(84) |
Jun
(72) |
Jul
(128) |
Aug
(126) |
Sep
(82) |
Oct
(80) |
Nov
(148) |
Dec
(55) |
| 2002 |
Jan
(137) |
Feb
(85) |
Mar
(118) |
Apr
(67) |
May
(71) |
Jun
(28) |
Jul
(69) |
Aug
(48) |
Sep
(83) |
Oct
(79) |
Nov
(54) |
Dec
(32) |
| 2003 |
Jan
(44) |
Feb
(47) |
Mar
(59) |
Apr
(57) |
May
(43) |
Jun
(45) |
Jul
(44) |
Aug
(39) |
Sep
(27) |
Oct
(62) |
Nov
(17) |
Dec
(23) |
| 2004 |
Jan
(41) |
Feb
(51) |
Mar
(38) |
Apr
(30) |
May
(25) |
Jun
(12) |
Jul
(11) |
Aug
(27) |
Sep
(16) |
Oct
(56) |
Nov
(23) |
Dec
(29) |
| 2005 |
Jan
(75) |
Feb
(82) |
Mar
(50) |
Apr
(77) |
May
(19) |
Jun
(104) |
Jul
(47) |
Aug
(42) |
Sep
(28) |
Oct
(143) |
Nov
(62) |
Dec
(13) |
| 2006 |
Jan
(20) |
Feb
(10) |
Mar
(59) |
Apr
(45) |
May
(25) |
Jun
(129) |
Jul
(162) |
Aug
(91) |
Sep
(15) |
Oct
(39) |
Nov
(186) |
Dec
(191) |
| 2007 |
Jan
(134) |
Feb
(140) |
Mar
(106) |
Apr
(77) |
May
(92) |
Jun
(63) |
Jul
(233) |
Aug
(102) |
Sep
(119) |
Oct
(63) |
Nov
(68) |
Dec
(32) |
| 2008 |
Jan
(69) |
Feb
(91) |
Mar
(129) |
Apr
(44) |
May
(18) |
Jun
(53) |
Jul
(50) |
Aug
(25) |
Sep
(11) |
Oct
(28) |
Nov
(67) |
Dec
(36) |
| 2009 |
Jan
(20) |
Feb
(24) |
Mar
(66) |
Apr
(53) |
May
(48) |
Jun
(48) |
Jul
(59) |
Aug
(82) |
Sep
(49) |
Oct
(30) |
Nov
(16) |
Dec
(16) |
| 2010 |
Jan
(52) |
Feb
(25) |
Mar
(36) |
Apr
(34) |
May
(14) |
Jun
(15) |
Jul
(14) |
Aug
(16) |
Sep
(23) |
Oct
(6) |
Nov
(4) |
Dec
(5) |
| 2011 |
Jan
(4) |
Feb
(22) |
Mar
(45) |
Apr
(9) |
May
(8) |
Jun
(13) |
Jul
(12) |
Aug
(4) |
Sep
(6) |
Oct
(10) |
Nov
(21) |
Dec
(5) |
| 2012 |
Jan
(6) |
Feb
(9) |
Mar
(25) |
Apr
(6) |
May
(4) |
Jun
(23) |
Jul
(6) |
Aug
(18) |
Sep
(21) |
Oct
(34) |
Nov
(19) |
Dec
(25) |
| 2013 |
Jan
(8) |
Feb
(34) |
Mar
(35) |
Apr
(4) |
May
(11) |
Jun
(4) |
Jul
(7) |
Aug
(5) |
Sep
(20) |
Oct
(12) |
Nov
(11) |
Dec
(7) |
| 2014 |
Jan
(10) |
Feb
(18) |
Mar
(50) |
Apr
(26) |
May
(53) |
Jun
(21) |
Jul
(12) |
Aug
(39) |
Sep
(43) |
Oct
(26) |
Nov
(8) |
Dec
(6) |
| 2015 |
Jan
(18) |
Feb
(32) |
Mar
(31) |
Apr
(42) |
May
(38) |
Jun
(13) |
Jul
(6) |
Aug
(11) |
Sep
(29) |
Oct
(25) |
Nov
(10) |
Dec
(11) |
| 2016 |
Jan
(24) |
Feb
(12) |
Mar
(13) |
Apr
(15) |
May
(22) |
Jun
(8) |
Jul
(12) |
Aug
(25) |
Sep
(8) |
Oct
(6) |
Nov
(13) |
Dec
(7) |
| 2017 |
Jan
(6) |
Feb
(29) |
Mar
(32) |
Apr
(8) |
May
(82) |
Jun
(42) |
Jul
(20) |
Aug
(17) |
Sep
(27) |
Oct
(14) |
Nov
(22) |
Dec
(6) |
| 2018 |
Jan
(12) |
Feb
(9) |
Mar
(22) |
Apr
(19) |
May
(14) |
Jun
(9) |
Jul
(9) |
Aug
(22) |
Sep
(22) |
Oct
(12) |
Nov
(13) |
Dec
(8) |
| 2019 |
Jan
(22) |
Feb
(3) |
Mar
(30) |
Apr
(20) |
May
(20) |
Jun
(6) |
Jul
(15) |
Aug
(25) |
Sep
(11) |
Oct
(24) |
Nov
(11) |
Dec
(6) |
| 2020 |
Jan
(9) |
Feb
(12) |
Mar
(29) |
Apr
(10) |
May
(22) |
Jun
(11) |
Jul
(15) |
Aug
(5) |
Sep
(6) |
Oct
(7) |
Nov
(7) |
Dec
(13) |
| 2021 |
Jan
(21) |
Feb
(5) |
Mar
(5) |
Apr
(6) |
May
(10) |
Jun
(7) |
Jul
(6) |
Aug
(8) |
Sep
(5) |
Oct
(9) |
Nov
(5) |
Dec
(6) |
| 2022 |
Jan
(5) |
Feb
(4) |
Mar
(8) |
Apr
(6) |
May
(5) |
Jun
(5) |
Jul
(10) |
Aug
(6) |
Sep
(7) |
Oct
(4) |
Nov
(4) |
Dec
(6) |
| 2023 |
Jan
(5) |
Feb
(5) |
Mar
(6) |
Apr
(4) |
May
(5) |
Jun
(6) |
Jul
(5) |
Aug
(5) |
Sep
(5) |
Oct
(5) |
Nov
(7) |
Dec
(8) |
| 2024 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2025 |
Jan
|
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2026 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <no...@so...> - 2002-01-11 02:35:44
|
Patches item #502151, was opened at 2002-01-10 18:35 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312867&aid=502151&group_id=12867 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Steve Cohen (stevecoh1) Assigned to: Nobody/Anonymous (nobody) Summary: Extend ReadlineConsole to cmd.Cmd Initial Comment: This patch enables ReadlineConsole functionality to be extended to other console-like environments like interpretive shells derived from cmd.Cmd, such as the isql.IsqlCmd shell. It does this by hooking its raw_input()into the builtins table which cmd.Cmd uses to get to raw_input. Thanks very much to Finn Bock for showing me the way 10 Jan, 2002 Steve Cohen ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312867&aid=502151&group_id=12867 |
|
From: Kevin B. <kb...@ca...> - 2002-01-10 22:44:53
|
Ype Kingma wrote: > > Dear developers, > > This works mostly fine using javaos.py library below: > > import os > os._ _testSystem() () # ok. > os._testGetOsType() # fails on None, but this is not very irrelevant. Looks like your copy has a duplicate 'mac' line overwriting the 'None' line - this differs from the 2.1 release. (*whew* :-) ) > javaos.py from 2.1 only needed adding OS/2 as os.name and using the same > functionality as NT Great - checked in - thanks! > (yes, once upon a time there was a common predecessor..) Yip. But, gosh, it has been a long time since I ran OS/2. Isn't MS marketing something, though? :-( kb |
|
From: ÀÌÇöÈñ<do...@ya...> - 2002-01-10 20:33:00
|
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<P>◎ 위성방송 스카이라이프 신청하시면 사은품 제공 합니다 ◎<BR>
<BR> 먼저 허락없이 메일을 드려서 대단히 죄송합니다. <BR> 정보통신부
권고사항 인 제목란에 [광고] 문안을 삽입했습니다<BR> 메일의 주소는 웹에서 구했으며 기타 어떠한
개인 정보나 내용도 <BR> 가지고 있지 않습니다. <BR> '거부' 회신
해주시면 다시는 이와 유사한 홍보 게시를 하지 않도록
하겠습니다 <BR> ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
<BR> 위성방송 스카이라이프 안내:http://www.e-skylife.co.kr 참조<BR>
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ <BR> 이왕이면 사은품도 받고 원하는
위성방송도 설치하고 .....일석이조 아닌가요?<BR>※예약가입기간 :
2001.12.3~2002.2.28<BR> 예약가입기간 중 가입하시는 모든 분께는
디지털위성방송 시청에 <BR> 필요한 장비(수신기,안테나,리모콘 등)구매가를
57.6%할인한 69,000원에 드립니다.<BR> 또한,
설치비(40,000원)무료, SkyLife 1개월 무료 시청<BR>
(Sky Choice 제외)의 추가 혜택을 드립니다 <BR>※본사 이벤트외 추가 자체사은품(택일) <BR>* 고급휠마우스(A4 TECH)
<BR>* 고급CD케이스(28장 가능) <BR>* 헤드셋 <BR>* 현금1만원 환불 <BR>※
예약가입기간(2001.12.3~2002.2.28)전 예약 가입한 고객 분에게는 경품 제공<BR> <A
href="http://www.e-skylife.co.kr">http://www.e-skylife.co.kr</A> 에서 자세한 내용
참조하세요<BR></P>
<P> 감사합니다.<BR> <BR><BR><BR><BR><BR><BR><BR><BR></P>
</BODY>
</HTML>
|
|
From: Ype K. <yk...@xs...> - 2002-01-10 19:35:19
|
Dear developers,
This works mostly fine using javaos.py library below:
import os
os._ _testSystem() () # ok.
os._testGetOsType() # fails on None, but this is not very irrelevant.
javaos.py from 2.1 only needed adding OS/2 as os.name and using the same
functionality as NT (yes, once upon a time there was a common predecessor..)
Have fun,
Ype
"""OS routines for Java, with some attempts to support DOS, NT, and
Posix functionality.
This exports:
- all functions from posix, nt, dos, os2, mac, or ce, e.g. unlink, stat, etc.
- os.path is one of the modules posixpath, ntpath, macpath, or dospath
- os.name is 'posix', 'nt', 'dos', 'os2', 'mac', 'ce' or 'riscos'
- os.curdir is a string representing the current directory ('.' or ':')
- os.pardir is a string representing the parent directory ('..' or '::')
- os.sep is the (or a most common) pathname separator ('/' or ':' or '\\')
- os.altsep is the alternate pathname separator (None or '/')
- os.pathsep is the component separator used in $PATH etc
- os.linesep is the line separator in text files ('\r' or '\n' or '\r\n')
- os.defpath is the default search path for executables
Programs that import and use 'os' stand a better chance of being
portable between different platforms. Of course, they must then
only use functions that are defined by all platforms (e.g., unlink
and opendir), and leave all pathname manipulation to os.path
(e.g., split and join).
"""
__all__ = ["altsep", "curdir", "pardir", "sep", "pathsep", "linesep",
"defpath", "name"]
import java
from java.io import File, BufferedReader, InputStreamReader, IOException
import javapath as path
from UserDict import UserDict
import string
import exceptions
import re
import sys
import thread
error = OSError
name = 'java' # discriminate based on JDK version?
curdir = '.' # default to Posix for directory behavior, override below
pardir = '..'
sep = java.io.File.separator
altsep = None
pathsep = java.io.File.pathSeparator
defpath = '.'
linesep = java.lang.System.getProperty('line.separator')
def _exit(n=0):
java.lang.System.exit(n)
def getcwd():
foo = File(File("foo").getAbsolutePath())
return foo.getParent()
def chdir(path):
raise OSError(0, 'chdir not supported in Java', path)
def listdir(path):
l = File(path).list()
if l is None:
raise OSError(0, 'No such directory', path)
return list(l)
def mkdir(path, mode='ignored'):
if not File(path).mkdir():
raise OSError(0, "couldn't make directory", path)
def makedirs(path, mode='ignored'):
if not File(path).mkdirs():
raise OSError(0, "couldn't make directories", path)
def remove(path):
if not File(path).delete():
raise OSError(0, "couldn't delete file", path)
def rename(path, newpath):
if not File(path).renameTo(File(newpath)):
raise OSError(0, "couldn't rename file", path)
def rmdir(path):
if not File(path).delete():
raise OSError(0, "couldn't delete directory", path)
unlink = remove
def stat(path):
"""The Java stat implementation only returns a small subset of
the standard fields"""
f = File(path)
size = f.length()
# Sadly, if the returned length is zero, we don't really know if the file
# is zero sized or does not exist.
if size == 0 and not f.exists():
raise OSError(0, 'No such file or directory', path)
mtime = f.lastModified() / 1000.0
return (0, 0, 0, 0, 0, 0, size, mtime, mtime, 0)
def utime(path, times):
# Only the modification time is changed (and only on java2).
if times and hasattr(File, "setLastModified"):
File(path).setLastModified(long(times[1] * 1000.0))
class LazyDict( UserDict ):
"""A lazy-populating User Dictionary.
Lazy initialization is not thread-safe.
"""
def __init__( self,
dict=None,
populate=None,
keyTransform=None ):
"""dict: starting dictionary of values
populate: function that returns the populated dictionary
keyTransform: function to normalize the keys (e.g., toupper/None)
"""
UserDict.__init__( self, dict )
self._populated = 0
self.__populateFunc = populate or (lambda: {})
self._keyTransform = keyTransform or (lambda key: key)
def __populate( self ):
if not self._populated:
self.data = self.__populateFunc()
self._populated = 1 # race condition
########## extend methods from UserDict by pre-populating
def __repr__(self):
self.__populate()
return UserDict.__repr__( self )
def __cmp__(self, dict):
self.__populate()
return UserDict.__cmp__( self, dict )
def __len__(self):
self.__populate()
return UserDict.__len__( self )
def __getitem__(self, key):
self.__populate()
return UserDict.__getitem__( self, self._keyTransform(key) )
def __setitem__(self, key, item):
self.__populate()
UserDict.__setitem__( self, self._keyTransform(key), item )
def __delitem__(self, key):
self.__populate()
UserDict.__delitem__( self, self._keyTransform(key) )
def clear(self):
self.__populate()
UserDict.clear( self )
def copy(self):
self.__populate()
return UserDict.copy( self )
def keys(self):
self.__populate()
return UserDict.keys( self )
def items(self):
self.__populate()
return UserDict.items( self )
def values(self):
self.__populate()
return UserDict.values( self )
def has_key(self, key):
self.__populate()
return UserDict.has_key( self, self._keyTransform(key) )
def update(self, dict):
self.__populate()
UserDict.update( self, dict )
def get(self, key, failobj=None):
self.__populate()
return UserDict.get( self, self._keyTransform(key), failobj )
def setdefault(self, key, failobj=None):
self.__populate()
return UserDict.setdefault( self, self._keyTransform(key), failobj )
def popitem(self):
self.__populate()
return UserDict.popitem( self )
class _ShellEnv:
"""Provide environment derived by spawning a subshell and parsing its
environment. Also supports system functions and provides empty
environment support for platforms with unknown shell
functionality.
"""
def __init__( self, cmd=None, getEnv=None, keyTransform=None ):
"""cmd: list of exec() arguments to run command in subshell, or None
getEnv: shell command to list environment variables, or None
keyTransform: normalization function for environment keys, or None
"""
self.cmd = cmd
self.getEnv = getEnv
self.environment = LazyDict(populate=self._getEnvironment,
keyTransform=keyTransform)
self._keyTransform = self.environment._keyTransform
########## system
def system( self, cmd ):
"""Imitate the standard library 'system' call.
Execute 'cmd' in a shell, and send output to stdout & stderr.
"""
p = self.execute( cmd )
def println( arg, write=sys.stdout.write ):
write( arg + "\n" )
def printlnStdErr( arg, write=sys.stderr.write ):
write( arg + "\n" )
# read stderr in new thread
thread.start_new_thread( self._readLines,
( p.getErrorStream(), printlnStdErr ))
# read stdin in main thread
self._readLines( p.getInputStream(), println )
return p.waitFor()
def execute( self, cmd ):
"""Execute cmd in a shell, and return the process instance"""
shellCmd = self._formatCmd( cmd )
if self.environment._populated:
env = self._formatEnvironment( self.environment )
else:
env = None
try:
p = java.lang.Runtime.getRuntime().exec( shellCmd, env )
return p
except IOException, ex:
raise OSError(
0,
"Failed to execute command (%s): %s" % ( shellCmd, ex )
)
########## utility methods
def _readLines( self, stream, func=None ):
"""Read lines of stream, and either append them to return
array of lines, or call func on each line.
"""
lines = []
func = func or lines.append
# should read both stderror and stdout in separate threads...
bufStream = BufferedReader( InputStreamReader( stream ))
while 1:
line = bufStream.readLine()
if line is None: break
func( line )
return lines or None
def _formatCmd( self, cmd ):
"""Format a command for execution in a shell."""
if self.cmd is None:
msgFmt = "Unable to execute commands in subshell because shell" \
" functionality not implemented for OS %s with shell" \
" setting %s. Failed command=%s"""
raise OSError( 0, msgFmt % ( _osType, _envType, cmd ))
return self.cmd + [cmd]
def _formatEnvironment( self, env ):
"""Format enviroment in lines suitable for Runtime.exec"""
lines = []
for keyValue in env.items():
lines.append( "%s=%s" % keyValue )
return lines
def _getEnvironment( self ):
"""Get the environment variables by spawning a subshell.
This allows multi-line variables as long as subsequent lines do
not have '=' signs.
"""
env = {}
if self.getEnv:
try:
p = self.execute( self.getEnv )
lines = self._readLines( p.getInputStream() )
if '=' not in lines[0]:
print "getEnv command (%s) did not print environment.\n" \
"Output=%s" % (
self.getEnv, '\n'.join( lines )
)
return env
for line in lines:
try:
i = line.index( '=' )
key = self._keyTransform(line[:i])
value = line[i+1:]
except ValueError:
# found no '=', so line is part of previous value
value = '%s\n%s' % ( value, line )
env[ key ] = value
except OSError, ex:
print "Failed to get environment, environ will be empty:", ex
return env
def _getOsType( os=None ):
"""Select the OS behavior based on os argument, 'python.os' registry
setting and 'os.name' Java property.
os: explicitly select desired OS. os=None to autodetect, os='None' to
disable
"""
os = os or sys.registry.getProperty( "python.os" ) or \
java.lang.System.getProperty( "os.name" )
_osTypeMap = (
( "nt", r"(nt)|(Windows NT)|(Windows NT 4.0)|(WindowsNT)|"
r"(Windows 2000)|(Windows XP)|(Windows CE)" ),
( "dos", r"(dos)|(Windows 95)|(Windows 98)|(Windows ME)" ),
( "os2", r"(OS/2)" ),
( "mac", r"(mac)|(MacOS.*)|(Darwin)" ),
( "mac", r"(mac)|(MacOS.*)|(Darwin)" ),
( "posix", r"(.*)" ), # default - posix seems to vary mast widely
)
for osType, pattern in _osTypeMap:
if re.match( pattern, os ):
break
return osType
def _getShellEnv( envType, shellCmd, envCmd, envTransform ):
"""Create the desired environment type.
envType: 'shell' or None
"""
if envType == "shell":
return _ShellEnv( shellCmd, envCmd, envTransform )
else:
return _ShellEnv()
_osType = _getOsType()
_envType = sys.registry.getProperty("python.environment", "shell")
# default to None/empty for shell and environment behavior
_shellCmd = None
_envCmd = None
_envTransform = None
# override defaults based on _osType
if (_osType == "nt") or (_osType == "os2"):
_shellCmd = ["cmd", "/c"]
_envCmd = "set"
_envTransform = string.upper
elif _osType == "dos":
_shellCmd = ["command.com", "/c"]
_envCmd = "set"
_envTransform = string.upper
elif _osType == "posix":
_shellCmd = ["sh", "-c"]
_envCmd = "env"
elif _osType == "mac":
curdir = ':' # override Posix directories
pardir = '::'
elif _osType == "None":
pass
# else:
# # may want a warning, but only at high verbosity:
# warn( "Unknown os type '%s', using default behavior." % _osType )
_shellEnv = _getShellEnv( _envType, _shellCmd, _envCmd, _envTransform )
# provide environ, putenv, getenv
environ = _shellEnv.environment
putenv = environ.__setitem__
getenv = environ.__getitem__
# provide system
system = _shellEnv.system
########## test code
def _testGetOsType():
testVals = {
"Windows NT": "nt",
"Windows 95": "dos",
"MacOS": "mac",
"Solaris": "posix",
"Linux": "posix",
"OS/2": "os2",
"None": "None"
}
msgFmt = "_getOsType( '%s' ) should return '%s', not '%s'"
# test basic mappings
for key, val in testVals.items():
got = _getOsType( key )
assert got == val, msgFmt % ( key, val, got )
def _testCmds( _shellEnv, testCmds, whichEnv ):
# test commands (key) and compare output to expected output (value).
# this actually executes all the commands twice, testing the return
# code by calling system(), and testing some of the output by calling
# execute()
for cmd, pattern in testCmds:
print "\nExecuting '%s' with %s environment" % (cmd, whichEnv)
assert not _shellEnv.system( cmd ), \
"%s failed with %s environment" % (cmd, whichEnv)
line = _shellEnv._readLines(
_shellEnv.execute(cmd).getInputStream())[0]
assert re.match( pattern, line ), \
"expected match for %s, got %s" % ( pattern, line )
def _testSystem( shellEnv=_shellEnv ):
# test system and environment functionality
key, value = "testKey", "testValue"
org = environ
testCmds = [
# test commands and regexes to match first line of expected
# output on first and second runs
# Note that the validation is incomplete for several of these
# - they should validate depending on platform and pre-post, but
# they don't.
# no quotes, should output both words
("echo hello there", "hello there"),
# should print PATH (on NT)
("echo PATH=%PATH%", "(PATH=.*;.*)|(PATH=%PATH%)"),
# should print 'testKey=%testKey%' on NT before initialization,
# should print 'testKey=' on 95 before initialization,
# and 'testKey=testValue' after
("echo %s=%%%s%%" % (key,key),
"(%s=)" % (key,)),
# should print PATH (on Unix)
( "echo PATH=$PATH", "PATH=.*" ),
# should print 'testKey=testValue' on Unix after initialization
( "echo %s=$%s" % (key,key),
"(%s=$%s)|(%s=)|(%s=%s)" % (key, key, key, key, value ) ),
# should output quotes on NT but not on Unix
( 'echo "hello there"', '"?hello there"?' ),
# should print 'why' to stdout.
( r'''jython -c "import sys;sys.stdout.write( 'why\n' )"''', "why" ),
# should print 'why' to stderr, but it won't right now. Have
# to add the print to give some output...empty string matches every
# thing...
( r'''jython -c "import sys;sys.stderr.write('why\n');print " ''',
"" )
]
assert not environ._populated, \
"before population, environ._populated should be false"
_testCmds( _shellEnv, testCmds, "default" )
# trigger initialization of environment
environ[ key ] = value
assert environ._populated, \
"after population, environ._populated should be true"
assert org.get( key, None ) == value, \
"expected stub to have %s set" % key
assert environ.get( key, None ) == value, \
"expected real environment to have %s set" % key
# test system using the non-default environment
_testCmds( _shellEnv, testCmds, "initialized" )
assert environ.has_key( "PATH" ), \
"expected environment to have PATH attribute " \
"(this may not apply to all platforms!)"
def _testBadShell():
# attempt to get an environment with a shell that is not startable
se2 = _ShellEnv( ["badshell", "-c"], "set" )
str(se2.environment) # trigger initialization
assert not se2.environment.items(), "environment should be empty"
def _testBadGetEnv():
# attempt to get an environment with a command that does not print an environment
se2 = _getShellEnv( "shell", _shellCmd, _envCmd, _envTransform )
se2.getEnv="echo This command does not print environment"
str(se2.environment) # trigger initialization
assert not se2.environment.items(), "environment should be empty"
def _test():
_testGetOsType()
_testBadShell()
_testBadGetEnv()
_testSystem()
--
|
|
From: brian z. <bz...@zi...> - 2002-01-10 13:16:43
|
Geetha, There is currently no support for select in < JDK1.3 without using JNI. With 1.4 it should be possible to implement select but it I've not completely tested it. It is something I would like to work on the near future though. brian > -----Original Message----- > From: jyt...@li... > [mailto:jyt...@li...] On Behalf Of > ge...@in... > Sent: Friday, January 11, 2002 12:13 PM > To: jyt...@li... > Subject: [Jython-dev] select module > > > Hello, > > I recently downloaded jython and am experimentint with it. > > I have a working python application server implementation > and am planning provide some API for extending its > functionality, etc... In this context, I was exploring a > posibility of compiling the whole app to Java hence provide > the same API in Java and make the app extensions possible in Java. > > Incidentely I am using the fast medusa server > http://www.nightmare.com/medusa/ as my core. > It depends > heavily on the select module. > > Can you please provide me an implementation of the select module ? > > Thanks and regards > geetha manjunath > > > _______________________________________________ > Jython-dev mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/j> ython-dev > |
|
From: <ge...@in...> - 2002-01-10 09:12:26
|
Hello, I recently downloaded jython and am experimentint with it. I have a working python application server implementation and am planning provide some API for extending its functionality, etc... In this context, I was exploring a posibility of compiling the whole app to Java hence provide the same API in Java and make the app extensions possible in Java. Incidentely I am using the fast medusa server http://www.nightmare.com/medusa/ as my core. It depends heavily on the select module. Can you please provide me an implementation of the select module ? Thanks and regards geetha manjunath |
|
From: webmaster<NO...@in...> - 2002-01-10 01:58:17
|
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>제목 없음</title>
<meta name="generator" content="Namo WebEditor v5.0">
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<table style="border-collapse:collapse;" cellspacing="0">
<tr>
<td width="500" style="border-width:1px; border-color:black; border-style:solid;">
<p><a href="http://dleogh78.com.ne.kr/mail/edu/edu_plan.htm" target="_blank"><img src="http://dleogh78.com.ne.kr/mail/img/main_form.gif" width="500" height="500" border="0"></a></p>
</td>
</tr>
</table>
<p> </p>
</body>
</html>
|
|
From: James N. <jam...@ya...> - 2002-01-10 01:46:52
|
my "upgrade" yesterday consisted of cownloading 2.1, zipping Lib into jython_lib.jar and replacing my existing jython and jython_lib.jar files. well, one of my scripts adds jython_lib.jar to the sys.path, and imports fileinput it stoppped importing fileinput with the 2 new jar files. so then i backed out the jython_lib.jar file and repeated. still no dice. the old lib jarfile is equally import-proof. so then i backed out jython.jar and all was well again. _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
|
From: James N. <jam...@ya...> - 2002-01-09 22:07:17
|
finn
interesting benchmark, interesting results. what a performance rift.
the conversation has uncovered a general irrelevance of the coding style
details, there is a huge win in writing the alternative reflection code for
jdk1.4 and keeping instanceof for ibm. (and a huge win in avoiding jdk 1.3)
perhaps a bogo-reflection-mips score could load alternative classes to do
collection class introspections.
experimentation results:
first, your benchmark as-is on my dual celeron 500 w2k:
java version "1.3.1_01" Java(TM) 2 Runtime Environment, Standard Edition
(build 1.3.1_01) Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
cd c:/tmp/
/opt/jdk/bin/javac x.java;/opt/jdk/bin/java x
instanceof 7500
reflect 12656
instanceof 7812
reflect 12610
instanceof 6984
reflect 11563
instanceof 7015
reflect 11469
2nd, after adding some inner nameless classes, sprinkling a few statics and
finals and removing the new [0]'s, perhaps invalidating the intent of the
benchmarks...
instanceof 7563
reflect x - 11719
instanceof 8844
reflect x$1 - 24234
instanceof 9063
reflect x$2 - 22531
3rd, making "call" final and static (code below).
reflect x - 9500
reflect x$1 - 23844
reflect x$2 - 22031
...looping on " o.getClass().getMethod(intern_methodname,
no_Class).invoke(o,no_Object);"
instanceof 7765
reflect x - 118641
reflect x$1 - 119734
reflect x$2 - 116109
...looping on "call()"
reflect x - 47
reflect x - 47
reflect x - 32
...making call non-static non-final looping on ((x)o).call()
reflect x - ~157
...making call final looping as above
reflect x - ~93.5
---
import java.lang.reflect.*;
public class x {
public final static void main(String args[]) throws Exception {
meassure(new x (), true);
meassure(new Object(){public void call() { cnt++; }},true );
meassure(new Object(){public final void call() { cnt++; }},true );
}
public static final Class[] no_Class=new Class[]{};
public static final Object[] no_Object=new Object[]{};
private final static String intern_methodname="call".intern();
public final static void meassure(Object o, boolean print)
throws Exception
{
long now;
int i;
Class xcls;
Method m;
now = System.currentTimeMillis();
for (i = 0; i < LOOPS; i++) {
if (o instanceof java.util.Vector) { cnt++; }
if (o instanceof java.util.Dictionary) { cnt++; }
//if (o instanceof java.util.Enumeration) { cnt++; }
if (o instanceof java.util.List) { cnt++; }
if (o instanceof java.util.Collection) { cnt++; }
if (o instanceof java.util.Map) { cnt++; }
//if (o instanceof java.util.Iterator) { cnt++; }
if (o instanceof x) { cnt++; }
}
System.out.println("instanceof " +
(System.currentTimeMillis() - now));
xcls = o.getClass();
m = xcls.getMethod(intern_methodname, no_Class);
now = System.currentTimeMillis();
for (i = 0; i < LOOPS; i++) {
m.invoke(o, no_Object);
}
System.out.println("reflect " +o.getClass().getName()+" - "+
(System.currentTimeMillis() - now));
}
public static final int LOOPS = 3000000;
static int cnt = 0;
public static final void call() { cnt++; }
}
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
|
|
From: <bc...@wo...> - 2002-01-09 17:11:57
|
[James Northrup] >has the dec30 release done away with the sys.path jarfile imports? It shouldn't have. During the beta period, the '!' character was replaced with a '/' character. What does not work? regards, finn |
|
From: <bc...@wo...> - 2002-01-09 13:16:08
|
[James Northrup]
>I've ported a jython app from wintel to a STRONGARM j2se1.3.1 classic vm.
>(200mhz integer-only 32mb no jit or hotspot)
>
>the package cache loading takes 15 minutes by the time it gets done with
>jython.jar, i18.jar and rt.jar
>
>briefly, what does the package cache speed up and how is this implemented?
It improves the startup time of the interpreter for subsequent startups.
The packagemanager needs to know that "java" and "java.lang" are java
packages to support statement like:
import java.util
and it need to know which java classes are located in each package to
support statements like:
from java.lang import *
For each .jar file it creates a cachedir\packages\jarfile.pkc which is
serialized mapping with the contents of:
{
'java.lang' : 'Boolean,Byte,Character,CharSequence,...'.
'java.util' : 'AbstractCollection,AbstractList,AbstractMap,....',
'packagename' : 'public-class-list@non-public-class-list',
}
The cachedir\packages\packages.idx file maps the full path of the .jar
file to its corresponding .pkc file and it maintain a modification date
so it knows when it is necessary to re-scan the .jar file.
regards,
finn
|
|
From: <bc...@wo...> - 2002-01-09 11:02:59
|
>> >> Pros:
>> >> - We will save a pointer for each instance of PyInstance and
>> >> PyJavaInstance and an instance of a CollectionProxy for each Vector,
>> >> Hashtable, Map, etc.
>> >>
>> >> Cons:
>> >> - A serie of instanceof operations is necessary every time one of
>> >> the sequence method is called on a java instance.
>> >
>> >I would think it would be more straight forward to keep the
>> >CollectionProxy's as they are now even though it requires an extra
>> >instance. While the number of Collection classes is small it still
>> >*feels* better to avoid a big if block of instanceof calls.
>>
>> It would be the same two blocks of instanceof operations that you can
>> already find in CollectionProxy*.java. I suggest that we execute these 5
>> if statement for each __len__ and __XXXitem__ call on a java class,
>> instead of executing it just once for each java class and storing the
>> result. The java2 "if" statements would still be located in
>> CollectionProxy2.
[James Northrup]
>sounds like the proposed good ideas are worthy and the idea's proposed
>implementation is awkward.
>
>consider that the great majority of reflection api is native code and the
>blind fragment:
>try{
>o.getClass().getMethod(...).invoke(...)
>}catch(...){...}
>
>is niether unmaintainable nor performance hindered.
Be careful about conclusions about performance. It dependents! The test
program below compiled with jikes-1.15 running on w2k with an AMD 1.3Ghz
yields:
instanceof reflect
javasoft JDK 1.2.1-A 30 2900
javasoft JDK 1.3.1_02 hotspot 2440 3750
javasoft JDK 1.3.1_02 server 2080 3050
javasoft JDK 1.3.1_02 classic 1120 2640
javasoft JDK 1.4 client 2500 760
javasoft JDK 1.4 server 1800 350
IBMjava13 130 4220
So I agree with your performance conclusion, but only for the JDK1.4 VM.
Personally I was quite surprised of the slow instanceof performance for
1.3 and 1.4.
Does anyone know why instanceof on jdk1.3 is so slow compared to 1.2?
>a registry can be built on-the-fly per container class which then houses a
>few methods which are thereafter simply plugged with (instance, Object[])
>parms
>
>classnames and classloaders are going to be final strings. thus the
>registry, a final static hashmap, would be as good as it gets, and meet the
>criterion of stomping blocks of comparison.
Blocks of comparisons does not concern me too much. Look at Py.java2py
and all the __tojava__ methods for loads of other examples.
If the keys in your registry map is classnames, then the names of
subclasses of collection classes must also be added. And removed if the
subclass is unloaded. That can be done by using a weak-key mapping, but
that sound slow.
>given that there is 1 Arrays, 1 collection, 1 map, 1 iterator (2 counting
>ListIterator), and 1 enumeration class, i can see no cause for writing
>per-instance proxies and I question the necesity of per-class proxies. this
>is as orthogonal as java gets and if we perchance write a single final proxy
>class with orthoganal method calls in mind and the occasional random
>reflection probe to categorize a new class entry into its behavior family,
>all is well ever after.
>
>no instanceof calls? no per-object proxy? what if someone calls the wrong
>reflection method on our container object? we let java throw what it will.
Sure.
>I qualify this hint by adding that I know nothing about jython collections
>and proxies and everything about ripping out blocks of comparisons and
>replacing them with factory/registry reflection code.
The if-block or registry-lookup will occur every time a java object is
indexed. So in this case, performance (in both time and memory) is a
little more important than a pleasing design.
regards,
finn
import java.lang.reflect.*;
public class x {
public static final int LOOPS = 3000000;
static int cnt = 0;
public static void main(String args[]) throws Exception {
meassure(new x(), true);
meassure(new x(), true);
meassure(new x(), true);
meassure(new x(), true);
}
public static void meassure(Object o, boolean print)
throws Exception
{
long now;
now = System.currentTimeMillis();
for (int i = 0; i < LOOPS; i++) {
if (o instanceof java.util.Vector) { cnt++; }
if (o instanceof java.util.Dictionary) { cnt++; }
//if (o instanceof java.util.Enumeration) { cnt++; }
if (o instanceof java.util.List) { cnt++; }
if (o instanceof java.util.Collection) { cnt++; }
if (o instanceof java.util.Map) { cnt++; }
//if (o instanceof java.util.Iterator) { cnt++; }
if (o instanceof x) { cnt++; }
}
System.out.println("instanceof " +
(System.currentTimeMillis() - now));
Class xcls = o.getClass();
Method m = xcls.getMethod("call", new Class[0]);
now = System.currentTimeMillis();
for (int i = 0; i < LOOPS; i++) {
m.invoke(o, new Object[0]);
}
System.out.println("reflect " +
(System.currentTimeMillis() - now));
}
public void call() { cnt++; }
}
|
|
From: James N. <jam...@ya...> - 2002-01-09 01:42:35
|
has the dec30 release done away with the sys.path jarfile imports? _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
|
From: James N. <jam...@ya...> - 2002-01-08 23:09:31
|
I've ported a jython app from wintel to a STRONGARM j2se1.3.1 classic vm. (200mhz integer-only 32mb no jit or hotspot) the package cache loading takes 15 minutes by the time it gets done with jython.jar, i18.jar and rt.jar briefly, what does the package cache speed up and how is this implemented? _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
|
From: James N. <jam...@ya...> - 2002-01-08 22:53:42
|
> >> Pros:
> >> - We will save a pointer for each instance of PyInstance and
> >> PyJavaInstance and an instance of a CollectionProxy for each Vector,
> >> Hashtable, Map, etc.
> >>
> >> Cons:
> >> - A serie of instanceof operations is necessary every time one of
> >> the sequence method is called on a java instance.
> >
> >I would think it would be more straight forward to keep the
> >CollectionProxy's as they are now even though it requires an extra
> >instance. While the number of Collection classes is small it still
> >*feels* better to avoid a big if block of instanceof calls.
>
> It would be the same two blocks of instanceof operations that you can
> already find in CollectionProxy*.java. I suggest that we execute these 5
> if statement for each __len__ and __XXXitem__ call on a java class,
> instead of executing it just once for each java class and storing the
> result. The java2 "if" statements would still be located in
> CollectionProxy2.
sounds like the proposed good ideas are worthy and the idea's proposed
implementation is awkward.
consider that the great majority of reflection api is native code and the
blind fragment:
try{
o.getClass().getMethod(...).invoke(...)
}catch(...){...}
is niether unmaintainable nor performance hindered.
a registry can be built on-the-fly per container class which then houses a
few methods which are thereafter simply plugged with (instance, Object[])
parms
classnames and classloaders are going to be final strings. thus the
registry, a final static hashmap, would be as good as it gets, and meet the
criterion of stomping blocks of comparison.
given that there is 1 Arrays, 1 collection, 1 map, 1 iterator (2 counting
ListIterator), and 1 enumeration class, i can see no cause for writing
per-instance proxies and I question the necesity of per-class proxies. this
is as orthogonal as java gets and if we perchance write a single final proxy
class with orthoganal method calls in mind and the occasional random
reflection probe to categorize a new class entry into its behavior family,
all is well ever after.
no instanceof calls? no per-object proxy? what if someone calls the wrong
reflection method on our container object? we let java throw what it will.
I qualify this hint by adding that I know nothing about jython collections
and proxies and everything about ripping out blocks of comparisons and
replacing them with factory/registry reflection code.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
|
|
From: Massoud K. <ma...@sk...> - 2002-01-08 14:08:36
|
I am new in using jythonc
When I try jythonc with any *.py file I can not build the java class and I
have error like below (in windows environment NT 4.0):
Can somebody help .... many thanks:
EX:
jythonc HelloApplet.py
I receive the following :
processing HelloApplet
Required packages:
java.awt
java.applet
Creating adapters:
Creating .java files:
HelloApplet module
HelloApplet extends java.applet.Applet
Compiling .java to .class...
Compiling with args: ['D:\\Program Files\\JavaSoft\\JRE\\1.3.1\\bin\\javac',
'-c
lasspath',
'f:\\jdk\\jython.jar;;.\\jpywork;;f:\\jdk\\Tools\\jythonc;C:\\massoud
\\.;f:\\jdk\\Lib;f:\\jdk', '.\\jpywork\\HelloApplet.java']
1 java.io.IOException: CreateProcess: "D:\Program
Files\JavaSoft\JRE\1.3.1\bin\
javac" -classpath
f:\jdk\jython.jar;;.\jpywork;;f:\jdk\Tools\jythonc;C:\massoud\
.;f:\jdk\Lib;f:\jdk .\jpywork\HelloApplet.java error=2
Consider using the -C/--compiler command line switch, or setting
the property python.jythonc.compiler in the registry.
ERROR DURING JAVA COMPILATION... EXITING
|
|
From: Humbel O. <Otm...@bi...> - 2002-01-08 13:33:06
|
Hello, With the newest jython version, you should be able to say: import os os.system( 'my.exe argument1 argument2' ) You might have to use quoting for arguments containing blanks. Here is a very simple example that works for me (Win2K): [E:/jython/jython-21] jython Jython 2.1 on java1.3.0 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> import os >>> os.system( 'notepad.exe' ) 0 >>> os.system( 'notepad.exe temp.txt' ) 0=09 >>> os.system( 'notepad.exe "temp file.txt"' ) 0 >>>=20 Hope this helps a little, Oti. [ Schmidt, Dietrich ] =20 > I want to run a user written WNT 4.0 EXE file with a command=20 > line argument > from within a JPython script. How can I do this ? |
|
From: <bc...@wo...> - 2002-01-08 07:35:13
|
[me]
> With the introduction of iterators, there is no longer a
> driving need to have a collection proxy for each PyInstance.
> We could instead have a static collection of the (5 to 7)
> different supported CollectionProxies, and the right
> CollectionProxy is found whenever the __len__ and __XXXitem__
> methods is called.
[brian]
>I don't understand how this is intended to work. Would you change the
>CollectionProxy's as they are now to static classes which (as you
>describe below) figure out on each call what instance type the object is
>and make the appropriate mapping call (ie, __finditem__(int) ->
>List.get(i))?
Yes.
>> Pros:
>> - We will save a pointer for each instance of PyInstance and
>> PyJavaInstance and an instance of a CollectionProxy for each Vector,
>> Hashtable, Map, etc.
>>
>> Cons:
>> - A serie of instanceof operations is necessary every time one of
>> the sequence method is called on a java instance.
>
>I would think it would be more straight forward to keep the
>CollectionProxy's as they are now even though it requires an extra
>instance. While the number of Collection classes is small it still
>*feels* better to avoid a big if block of instanceof calls.
It would be the same two blocks of instanceof operations that you can
already find in CollectionProxy*.java. I suggest that we execute these 5
if statement for each __len__ and __XXXitem__ call on a java class,
instead of executing it just once for each java class and storing the
result. The java2 "if" statements would still be located in
CollectionProxy2.
>> - It would not be possible to index a java.util.Enumerations and a
>> java.util.Iterator (but will still be possible to iterator
>> over them).
>
>I never feel inclined to index an Iterator or Enumeration in Java, so I
>don't think this limitation is very significant.
I agree; that enumeration can be indexed is IMO a sideeffect of the
implemetation. But it would be a breakage.
>Just so I'm clear (I implemented the iteration protocol for PyCursor),
>did you decide to add a new method __iternext__ to avoid having to raise
>a StopIteration exception to indicate the end of the iteration?
Yes. Maybe more importantly, to avoid having to catch StopIteration in
every loop. The StopIteration exception is used for python level code,
but the java API level uses "null" as a sentinel value.
>The
>spec calls for a .next() method to raise a StopIteration to indicate
>stopping, so I needed to implement two methods to do roughly the same
>thing, though one returns null and the other raises an exception. It
>seems to work just fine and I see that the compilation step looks for a
>__iternext__ so I presume all is well.
Yes, the code you checked in is fine.
I've considered adding a PyIterator class with just:
class PyIterator extends PyObject {
public PyObject __iter__() {
return this;
}
public PyObject next() {
PyObject ret = __iternext__();
if (row == null) {
throw Py.StopIteration(null);
}
return row;
}
}
It is just a utility class that iterators can then choose to extend. It
would maybe make iterators a little bit easier to implement. Thoughts?
>I like the pattern of the implementation of CollectionIterX you
>submitted. I'd like to see the same done with Py.java2py so I can
>finally have native proxy support for BigInteger and BigDecimal.
I think I understand what you want for BigInteger, but what should we do
for BigDecimal?
regards,
finn
|
|
From: brian z. <bz...@zi...> - 2002-01-08 06:03:27
|
> Hi, > > With the introduction of iterators, there is no longer a > driving need to have a collection proxy for each PyInstance. > We could instead have a static collection of the (5 to 7) > different supported CollectionProxies, and the right > CollectionProxy is found whenever the __len__ and __XXXitem__ > methods is called. > I don't understand how this is intended to work. Would you change the CollectionProxy's as they are now to static classes which (as you describe below) figure out on each call what instance type the object is and make the appropriate mapping call (ie, __finditem__(int) -> List.get(i))? > Pros: > - We will save a pointer for each instance of PyInstance and > PyJavaInstance and an instance of a CollectionProxy for each Vector, > Hashtable, Map, etc. > > Cons: > - A serie of instanceof operations is necessary every time one of > the sequence method is called on a java instance. I would think it would be more straight forward to keep the CollectionProxy's as they are now even though it requires an extra instance. While the number of Collection classes is small it still *feels* better to avoid a big if block of instanceof calls. > - It would not be possible to index a java.util.Enumerations and a > java.util.Iterator (but will still be possible to iterator > over them). I never feel inclined to index an Iterator or Enumeration in Java, so I don't think this limitation is very significant. Just so I'm clear (I implemented the iteration protocol for PyCursor), did you decide to add a new method __iternext__ to avoid having to raise a StopIteration exception to indicate the end of the iteration? The spec calls for a .next() method to raise a StopIteration to indicate stopping, so I needed to implement two methods to do roughly the same thing, though one returns null and the other raises an exception. It seems to work just fine and I see that the compilation step looks for a __iternext__ so I presume all is well. I like the pattern of the implementation of CollectionIterX you submitted. I'd like to see the same done with Py.java2py so I can finally have native proxy support for BigInteger and BigDecimal. thanks, brian |
|
From: <bc...@wo...> - 2002-01-07 20:23:05
|
Hi, With the introduction of iterators, there is no longer a driving need to have a collection proxy for each PyInstance. We could instead have a static collection of the (5 to 7) different supported CollectionProxies, and the right CollectionProxy is found whenever the __len__ and __XXXitem__ methods is called. Pros: - We will save a pointer for each instance of PyInstance and PyJavaInstance and an instance of a CollectionProxy for each Vector, Hashtable, Map, etc. Cons: - A serie of instanceof operations is necessary every time one of the sequence method is called on a java instance. - It would not be possible to index a java.util.Enumerations and a java.util.Iterator (but will still be possible to iterator over them). Any thoughs? regards, finn |
|
From: Ype K. <yk...@xs...> - 2002-01-07 19:29:29
|
Dietrich,
>I want to run a user written WNT 4.0 EXE file with a command line argument
>from within a JPython script. How can I do this ?
One way is to use java directly:
import java
prc = java.lang.exec('your.exe ' + someArgument)
prc.getOutputStream().close() # evt. write into it first
exitValue = prc.waitFor()
prc.getInputStream().close() # evt. read this first
prc.getErrorStream().close() # idem.
I have not checked the new os module yet. It might be even more portable.
Good luck,
Ype
--
|
|
From: Kevin B. <kb...@ca...> - 2002-01-07 19:28:28
|
With Jython 2.1, you should be able to use the new "os.system" function. For older versions of Jython/JPython, you'll need to use java.lang.Runtime.exec kb "Schmidt, Dietrich" wrote: > > I want to run a user written WNT 4.0 EXE file with a command line argument > from within a JPython script. How can I do this ? > > Dietrich > > _______________________________________________ > Jython-dev mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-dev |
|
From: Schmidt, D. <Die...@kl...> - 2002-01-07 19:04:53
|
I want to run a user written WNT 4.0 EXE file with a command line argument from within a JPython script. How can I do this ? Dietrich |
|
From: <no...@so...> - 2002-01-07 12:00:24
|
Patches item #500267, was opened at 2002-01-06 21:44 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312867&aid=500267&group_id=12867 Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: brian zimmer (bzimmer) >Assigned to: Finn Bock (bckfnn) Summary: add missing attributes to string.py Initial Comment: The import of cmd.py from CPython 2.2 fails because the attributes 'ascii_*' are missing from string.py in the Jython Lib. ---------------------------------------------------------------------- >Comment By: Finn Bock (bckfnn) Date: 2002-01-07 04:00 Message: Logged In: YES user_id=4201 Fixed in string.py: 1.9; ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312867&aid=500267&group_id=12867 |
|
From: <no...@so...> - 2002-01-07 05:44:04
|
Patches item #500267, was opened at 2002-01-06 21:44 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312867&aid=500267&group_id=12867 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: brian zimmer (bzimmer) Assigned to: Nobody/Anonymous (nobody) Summary: add missing attributes to string.py Initial Comment: The import of cmd.py from CPython 2.2 fails because the attributes 'ascii_*' are missing from string.py in the Jython Lib. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=312867&aid=500267&group_id=12867 |