[pypy-svn] r76250 - pypy/branch/unicode_filename-2/pypy/rpython/module
afa at codespeak.net
afa at codespeak.net
Fri Jul 16 09:42:01 CEST 2010
Author: afa
Date: Fri Jul 16 09:41:59 2010
New Revision: 76250
Modified:
pypy/branch/unicode_filename-2/pypy/rpython/module/ll_os.py
Log:
More refactoring, less duplication
Modified: pypy/branch/unicode_filename-2/pypy/rpython/module/ll_os.py
==============================================================================
--- pypy/branch/unicode_filename-2/pypy/rpython/module/ll_os.py (original)
+++ pypy/branch/unicode_filename-2/pypy/rpython/module/ll_os.py Fri Jul 16 09:41:59 2010
@@ -1573,62 +1573,40 @@
return extdef([str], int, llimpl=system_llimpl,
export_name="ll_os.ll_os_system")
- @registering(os.unlink)
- def register_os_unlink(self):
- os_unlink = self.llexternal(underscore_on_windows+'unlink', [rffi.CCHARP], rffi.INT)
+ @registering_str_unicode(os.unlink)
+ def register_os_unlink(self, ttypes):
+ os_unlink = self.llexternal(ttypes.posix_function_name('unlink'),
+ [ttypes.CCHARP], rffi.INT)
def unlink_llimpl(pathname):
res = rffi.cast(lltype.Signed, os_unlink(pathname))
if res < 0:
raise OSError(rposix.get_errno(), "os_unlink failed")
- return extdef([str], s_None, llimpl=unlink_llimpl,
- export_name="ll_os.ll_os_unlink")
+ return extdef([ttypes.str], s_None, llimpl=unlink_llimpl,
+ export_name=ttypes.ll_os_name('unlink'))
- @registering_unicode_version(os.unlink, [unicode], sys.platform=='win32')
- def register_os_unlink_unicode(self):
- os_wunlink = self.llexternal(underscore_on_windows+'wunlink', [rffi.CWCHARP], rffi.INT)
-
- def wunlink_llimpl(pathname):
- res = rffi.cast(lltype.Signed, os_wunlink(pathname))
- if res < 0:
- raise OSError(rposix.get_errno(), "os_unlink failed")
-
- return extdef([unicode], s_None, llimpl=wunlink_llimpl,
- export_name="ll_os.ll_os_wunlink")
-
- @registering(os.chdir)
- def register_os_chdir(self):
- os_chdir = self.llexternal(underscore_on_windows+'chdir', [rffi.CCHARP], rffi.INT)
+ @registering_str_unicode(os.chdir)
+ def register_os_chdir(self, ttypes):
+ os_chdir = self.llexternal(ttypes.posix_function_name('chdir'),
+ [ttypes.CCHARP], rffi.INT)
def chdir_llimpl(path):
res = rffi.cast(lltype.Signed, os_chdir(path))
if res < 0:
raise OSError(rposix.get_errno(), "os_chdir failed")
- return extdef([str], s_None, llimpl=chdir_llimpl,
- export_name="ll_os.ll_os_chdir")
-
- @registering_unicode_version(os.chdir, [unicode], sys.platform=='win32')
- def register_os_chdir_unicode(self):
- os_wchdir = self.llexternal(underscore_on_windows+'wchdir', [rffi.CWCHARP], rffi.INT)
-
- def chdir_llimpl(path):
- res = rffi.cast(lltype.Signed, os_wchdir(path))
- if res < 0:
- raise OSError(rposix.get_errno(), "os_chdir failed")
-
- return extdef([unicode], s_None, llimpl=chdir_llimpl,
- export_name="ll_os.ll_os_wchdir")
+ return extdef([ttypes.str], s_None, llimpl=chdir_llimpl,
+ export_name=ttypes.ll_os_name('chdir'))
- @registering(os.mkdir)
- def register_os_mkdir(self):
+ @registering_str_unicode(os.mkdir)
+ def register_os_mkdir(self, ttypes):
if os.name == 'nt':
ARG2 = [] # no 'mode' argument on Windows - just ignored
else:
ARG2 = [rffi.MODE_T]
- os_mkdir = self.llexternal(underscore_on_windows+'mkdir',
- [rffi.CCHARP]+ARG2, rffi.INT)
+ os_mkdir = self.llexternal(ttypes.posix_function_name('mkdir'),
+ [ttypes.CCHARP] + ARG2, rffi.INT)
IGNORE_MODE = len(ARG2) == 0
def mkdir_llimpl(pathname, mode):
@@ -1640,106 +1618,47 @@
if res < 0:
raise OSError(rposix.get_errno(), "os_mkdir failed")
- return extdef([str, int], s_None, llimpl=mkdir_llimpl,
- export_name="ll_os.ll_os_mkdir")
+ return extdef([ttypes.str, int], s_None, llimpl=mkdir_llimpl,
+ export_name=ttypes.ll_os_name('mkdir'))
- @registering_unicode_version(os.mkdir, [unicode, int], sys.platform=='win32')
- def register_os_mkdir_unicode(self):
- if os.name == 'nt':
- ARG2 = [] # no 'mode' argument on Windows - just ignored
- else:
- ARG2 = [rffi.MODE_T]
- os_wmkdir = self.llexternal(underscore_on_windows+'wmkdir',
- [rffi.CWCHARP]+ARG2, rffi.INT)
- IGNORE_MODE = len(ARG2) == 0
-
- def mkdir_llimpl(pathname, mode):
- if IGNORE_MODE:
- res = os_wmkdir(pathname)
- else:
- res = os_wmkdir(pathname, mode)
- res = rffi.cast(lltype.Signed, res)
- if res < 0:
- raise OSError(rposix.get_errno(), "os_mkdir failed")
-
- return extdef([unicode, int], s_None, llimpl=mkdir_llimpl,
- export_name="ll_os.ll_os_wmkdir")
-
- @registering(os.rmdir)
- def register_os_rmdir(self):
- os_rmdir = self.llexternal(underscore_on_windows+'rmdir', [rffi.CCHARP], rffi.INT)
+ @registering_str_unicode(os.rmdir)
+ def register_os_rmdir(self, ttypes):
+ os_rmdir = self.llexternal(ttypes.posix_function_name('rmdir'),
+ [ttypes.CCHARP], rffi.INT)
def rmdir_llimpl(pathname):
res = rffi.cast(lltype.Signed, os_rmdir(pathname))
if res < 0:
raise OSError(rposix.get_errno(), "os_rmdir failed")
- return extdef([str], s_None, llimpl=rmdir_llimpl,
- export_name="ll_os.ll_os_rmdir")
+ return extdef([ttypes.str], s_None, llimpl=rmdir_llimpl,
+ export_name=ttypes.ll_os_name('rmdir'))
- @registering_unicode_version(os.rmdir, [unicode], sys.platform=='win32')
- def register_os_rmdir_unicode(self):
- os_wrmdir = self.llexternal(underscore_on_windows+'wrmdir', [rffi.CWCHARP], rffi.INT)
-
- def rmdir_llimpl(pathname):
- res = rffi.cast(lltype.Signed, os_wrmdir(pathname))
- if res < 0:
- raise OSError(rposix.get_errno(), "os_rmdir failed")
-
- return extdef([unicode], s_None, llimpl=rmdir_llimpl,
- export_name="ll_os.ll_os_wrmdir")
-
- @registering(os.chmod)
- def register_os_chmod(self):
- os_chmod = self.llexternal(underscore_on_windows+'chmod', [rffi.CCHARP, rffi.MODE_T],
- rffi.INT)
+ @registering_str_unicode(os.chmod)
+ def register_os_chmod(self, ttypes):
+ os_chmod = self.llexternal(ttypes.posix_function_name('chmod'),
+ [ttypes.CCHARP, rffi.MODE_T], rffi.INT)
def chmod_llimpl(path, mode):
res = rffi.cast(lltype.Signed, os_chmod(path, rffi.cast(rffi.MODE_T, mode)))
if res < 0:
raise OSError(rposix.get_errno(), "os_chmod failed")
- return extdef([str, int], s_None, llimpl=chmod_llimpl,
- export_name="ll_os.ll_os_chmod")
+ return extdef([ttypes.str, int], s_None, llimpl=chmod_llimpl,
+ export_name=ttypes.ll_os_name('chmod'))
- @registering_unicode_version(os.chmod, [unicode, int], sys.platform=='win32')
- def register_os_chmod_unicode(self):
- os_wchmod = self.llexternal(underscore_on_windows+'wchmod', [rffi.CWCHARP, rffi.MODE_T],
- rffi.INT)
-
- def chmod_llimpl(path, mode):
- res = rffi.cast(lltype.Signed, os_wchmod(path, rffi.cast(rffi.MODE_T, mode)))
- if res < 0:
- raise OSError(rposix.get_errno(), "os_chmod failed")
-
- return extdef([unicode, int], s_None, llimpl=chmod_llimpl,
- export_name="ll_os.ll_os_wchmod")
-
- @registering(os.rename)
- def register_os_rename(self):
- os_rename = self.llexternal('rename', [rffi.CCHARP, rffi.CCHARP],
- rffi.INT)
+ @registering_str_unicode(os.rename)
+ def register_os_rename(self, ttypes):
+ os_rename = self.llexternal(ttypes.posix_function_name('rename'),
+ [ttypes.CCHARP, ttypes.CCHARP], rffi.INT)
def rename_llimpl(oldpath, newpath):
res = rffi.cast(lltype.Signed, os_rename(oldpath, newpath))
if res < 0:
raise OSError(rposix.get_errno(), "os_rename failed")
- return extdef([str, str], s_None, llimpl=rename_llimpl,
- export_name="ll_os.ll_os_rename")
-
- @registering_unicode_version(os.rename, [unicode, unicode], sys.platform=='win32')
- def register_os_rename_unicode(self):
- os_wrename = self.llexternal(underscore_on_windows+'wrename',
- [rffi.CWCHARP, rffi.CWCHARP], rffi.INT)
-
- def rename_llimpl(oldpath, newpath):
- res = rffi.cast(lltype.Signed, os_wrename(oldpath, newpath))
- if res < 0:
- raise OSError(rposix.get_errno(), "os_rename failed")
-
- return extdef([unicode, unicode], s_None, llimpl=rename_llimpl,
- export_name="ll_os.ll_os_wrename")
+ return extdef([ttypes.str, ttypes.str], s_None, llimpl=rename_llimpl,
+ export_name=ttypes.ll_os_name('rename'))
@registering(os.umask)
def register_os_umask(self):
More information about the Pypy-commit
mailing list