Revision: 559
          http://rpy.svn.sourceforge.net/rpy/?rev=559&view=rev
Author:   lgautier
Date:     2008-06-09 22:02:04 -0700 (Mon, 09 Jun 2008)

Log Message:
-----------
robjects:
- tentative fix of __str__ for win32 (use temp files instead of fifo)

Modified Paths:
--------------
    branches/rpy_nextgen/rpy/robjects/__init__.py
    branches/rpy_nextgen/rpy/robjects/tests/testRObject.py

Modified: branches/rpy_nextgen/rpy/robjects/__init__.py
===================================================================
--- branches/rpy_nextgen/rpy/robjects/__init__.py       2008-06-08 20:19:00 UTC 
(rev 558)
+++ branches/rpy_nextgen/rpy/robjects/__init__.py       2008-06-10 05:02:04 UTC 
(rev 559)
@@ -6,7 +6,7 @@
 
 """
 
-import os
+import os, sys
 import array
 import rpy2.rinterface as rinterface
 
@@ -82,12 +82,21 @@
     name = None
 
     def __str__(self):
-        tmp = baseNameSpaceEnv["fifo"]("")
+        if sys.platform == 'win32':
+            tfile = baseNameSpaceEnv["tempfile"]()
+            tmp = baseNameSpaceEnv["file"](tfile)
+        else:
+            tmp = baseNameSpaceEnv["fifo"]("")
         baseNameSpaceEnv["sink"](tmp)
         r.show(self)
         baseNameSpaceEnv["sink"]()
+        if sys.platform == 'win32':
+            baseNameSpaceEnv["close"](tfile)
         s = baseNameSpaceEnv["readLines"](tmp)
-        r.close(tmp)
+        if sys.platform == 'win32':
+            baseNameSpaceEnv["unlink"](tfile)
+        else:
+            r.close(tmp)
         s = str.join(os.linesep, s)
         return s
 

Modified: branches/rpy_nextgen/rpy/robjects/tests/testRObject.py
===================================================================
--- branches/rpy_nextgen/rpy/robjects/tests/testRObject.py      2008-06-08 
20:19:00 UTC (rev 558)
+++ branches/rpy_nextgen/rpy/robjects/tests/testRObject.py      2008-06-10 
05:02:04 UTC (rev 559)
@@ -19,9 +19,17 @@
         self.assertEquals(rinterface.INTSXP, ro_v.typeof())
 
     def testRepr(self):
-        prt = rinterface.baseNameSpaceEnv["print"]
+        prt = robjects.baseNameSpaceEnv["pi"]
         s = prt.__repr__()
+        #import pdb; pdb.set_trace()
+        self.assertTrue(s.startswith('3.14'))
 
+    def testStr(self):
+        prt = robjects.baseNameSpaceEnv["pi"]
+        s = prt.__str__()
+        self.assertTrue(s.startswith('[1] 3.14'))
+
+
     def testRclass(self):
         self.assertEquals("character",
                           robjects.baseNameSpaceEnv["letters"].rclass()[0])


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
rpy-list mailing list
rpy-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rpy-list

Reply via email to