[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