[pypy-svn] r73884 - in pypy/branch/cpython-extension/pypy/module/cpyext: . test

afa at codespeak.net afa at codespeak.net
Mon Apr 19 16:00:58 CEST 2010


Author: afa
Date: Mon Apr 19 16:00:57 2010
New Revision: 73884

Added:
   pypy/branch/cpython-extension/pypy/module/cpyext/datetime.py   (contents, props changed)
   pypy/branch/cpython-extension/pypy/module/cpyext/test/test_datetime.py   (contents, props changed)
Modified:
   pypy/branch/cpython-extension/pypy/module/cpyext/__init__.py
Log:
Start implementing datetime.h


Modified: pypy/branch/cpython-extension/pypy/module/cpyext/__init__.py
==============================================================================
--- pypy/branch/cpython-extension/pypy/module/cpyext/__init__.py	(original)
+++ pypy/branch/cpython-extension/pypy/module/cpyext/__init__.py	Mon Apr 19 16:00:57 2010
@@ -64,6 +64,7 @@
 import pypy.module.cpyext.sliceobject
 import pypy.module.cpyext.stubsactive
 import pypy.module.cpyext.pystate
+import pypy.module.cpyext.datetime
 
 # now that all rffi_platform.Struct types are registered, configure them
 api.configure_types()

Added: pypy/branch/cpython-extension/pypy/module/cpyext/datetime.py
==============================================================================
--- (empty file)
+++ pypy/branch/cpython-extension/pypy/module/cpyext/datetime.py	Mon Apr 19 16:00:57 2010
@@ -0,0 +1,16 @@
+from pypy.rpython.lltypesystem import rffi, lltype
+from pypy.module.cpyext.pyobject import PyObject
+from pypy.module.cpyext.api import cpython_api
+from pypy.module.cpyext.import_ import PyImport_Import
+
+ at cpython_api([], lltype.Void)
+def PyDateTime_IMPORT(space):
+    return
+
+ at cpython_api([rffi.INT, rffi.INT, rffi.INT, rffi.INT], PyObject)
+def PyTime_FromTime(space, hour, minute, second, usecond):
+    w_datetime = PyImport_Import(space, space.wrap("datetime"))
+    return space.call_method(
+        w_datetime, "time",
+        space.wrap(hour), space.wrap(minute), space.wrap(second),
+        space.wrap(usecond))

Added: pypy/branch/cpython-extension/pypy/module/cpyext/test/test_datetime.py
==============================================================================
--- (empty file)
+++ pypy/branch/cpython-extension/pypy/module/cpyext/test/test_datetime.py	Mon Apr 19 16:00:57 2010
@@ -0,0 +1,7 @@
+from pypy.module.cpyext.test.test_cpyext import AppTestCpythonExtensionBase
+from pypy.module.cpyext.test.test_api import BaseApiTest
+
+class TestDatetime(BaseApiTest):
+    def test_time(self, space, api):
+        w_time = api.PyTime_FromTime(23, 15, 40, 123456)
+        assert space.unwrap(space.str(w_time)) == '23:15:40.123456'



More information about the Pypy-commit mailing list