From: <pj...@us...> - 2008-12-14 23:58:45
|
Revision: 5762 http://jython.svn.sourceforge.net/jython/?rev=5762&view=rev Author: pjenvey Date: 2008-12-14 23:58:41 +0000 (Sun, 14 Dec 2008) Log Message: ----------- o fix broken os.utime on 64 bit POSIX platforms, w/ jna-posix revision 92037116ce84 o fix grp/pwd to handle the new jna-posix Modified Paths: -------------- trunk/jython/Lib/grp.py trunk/jython/Lib/pwd.py trunk/jython/extlibs/jna-posix.jar Modified: trunk/jython/Lib/grp.py =================================================================== --- trunk/jython/Lib/grp.py 2008-12-14 23:57:35 UTC (rev 5761) +++ trunk/jython/Lib/grp.py 2008-12-14 23:58:41 UTC (rev 5762) @@ -18,7 +18,6 @@ __all__ = ['getgrgid', 'getgrnam', 'getgrall'] from os import _name, _posix -from java.lang import NullPointerException if _name == 'nt': raise ImportError, 'grp module not supported on Windows' @@ -44,28 +43,31 @@ except ValueError: raise AttributeError + def getgrgid(uid): """ getgrgid(id) -> tuple Return the group database entry for the given numeric group ID. If id is not valid, raise KeyError. """ - try: - return struct_group(_posix.getgrgid(uid)) - except NullPointerException: - raise KeyError, uid + entry = _posix.getgrgid(uid) + if not entry: + raise KeyError(uid) + return struct_group(entry) + def getgrnam(name): """ getgrnam(name) -> tuple Return the group database entry for the given group name. If name is not valid, raise KeyError. """ - try: - return struct_group(_posix.getgrnam(name)) - except NullPointerException: - raise KeyError, name + entry = _posix.getgrnam(name) + if not entry: + raise KeyError(name) + return struct_group(entry) + def getgrall(): """ getgrall() -> list of tuples @@ -73,8 +75,9 @@ in arbitrary order. """ groups = [] - try: - while True: - groups.append(struct_group(_posix.getgrent())) - except NullPointerException: - return groups + while True: + group = _posix.getgrent() + if not group: + break + groups.append(struct_group(group)) + return groups Modified: trunk/jython/Lib/pwd.py =================================================================== --- trunk/jython/Lib/pwd.py 2008-12-14 23:57:35 UTC (rev 5761) +++ trunk/jython/Lib/pwd.py 2008-12-14 23:58:41 UTC (rev 5762) @@ -11,7 +11,6 @@ __all__ = ['getpwuid', 'getpwnam', 'getpwall'] from os import _name, _posix -from java.lang import NullPointerException if _name == 'nt': raise ImportError, 'pwd module not supported on Windows' @@ -37,6 +36,7 @@ except ValueError: raise AttributeError + def getpwuid(uid): """ getpwuid(uid) -> (pw_name,pw_passwd,pw_uid, @@ -44,11 +44,12 @@ Return the password database entry for the given numeric user ID. See pwd.__doc__ for more on password database entries. """ - try: - return struct_passwd(_posix.getpwuid(uid)) - except NullPointerException: - raise KeyError, uid + entry = _posix.getpwuid(uid) + if not entry: + raise KeyError(uid) + return struct_passwd(entry) + def getpwnam(name): """ getpwnam(name) -> (pw_name,pw_passwd,pw_uid, @@ -56,11 +57,12 @@ Return the password database entry for the given user name. See pwd.__doc__ for more on password database entries. """ - try: - return struct_passwd(_posix.getpwnam(name)) - except NullPointerException: - raise KeyError, name + entry = _posix.getpwnam(name) + if not entry: + raise KeyError(name) + return struct_passwd(entry) + def getpwall(): """ getpwall() -> list_of_entries @@ -69,8 +71,9 @@ See pwd.__doc__ for more on password database entries. """ entries = [] - try: - while True: - entries.append(struct_passwd(_posix.getpwent())) - except NullPointerException: - return entries + while True: + entry = _posix.getpwent() + if not entry: + break + entries.append(struct_passwd(entry)) + return entries Modified: trunk/jython/extlibs/jna-posix.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |