Revision: 452
http://rpy.svn.sourceforge.net/rpy/?rev=452&view=rev
Author: lgautier
Date: 2008-03-21 07:08:43 -0700 (Fri, 21 Mar 2008)
Log Message:
-----------
- Renamed the installed package as 'rpy2' (so it can co-exist with the current
rpy).
- Updated the 'radming.py' example: it might even turn up to be useful.
Modified Paths:
--------------
branches/rpy_nextgen/demos/radmin.py
branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py
branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py
branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py
branches/rpy_nextgen/rpy/robjects/__init__.py
branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py
branches/rpy_nextgen/setup.py
branches/rpy_nextgen/test.py
Modified: branches/rpy_nextgen/demos/radmin.py
===================================================================
--- branches/rpy_nextgen/demos/radmin.py 2008-03-21 11:25:12 UTC (rev
451)
+++ branches/rpy_nextgen/demos/radmin.py 2008-03-21 14:08:43 UTC (rev
452)
@@ -1,20 +1,22 @@
import pygtk
pygtk.require('2.0')
import gtk
-import rpy.robjects as robjects
+import rpy2.robjects as robjects
-class LibraryPanel(object):
+class LibraryPanel(gtk.VBox):
cell = gtk.CellRendererText()
cell.set_property('cell-background', 'black')
cell.set_property('foreground', 'white')
- def __init__(self, parent):
+ def __init__(self):
+ super(LibraryPanel, self).__init__()
self._table = gtk.ListStore(str, str, str)
self.updateInstalledLibraries()
self._treeView = gtk.TreeView(model = self._table)
+ self._treeView.show()
self._valueColumns = [gtk.TreeViewColumn('Package'),
gtk.TreeViewColumn('Installed'),
gtk.TreeViewColumn('Available')]
@@ -25,7 +27,23 @@
col.pack_start(cr, True)
self._valueCells.append(cr)
col.set_attributes(cr, text=col_i)
- parent.add(self._treeView)
+
+ sbox = gtk.HBox(homogeneous=False, spacing=0)
+ sbox.show()
+ self.sentry = gtk.Entry()
+ self.sentry.show()
+ sbox.add(self.sentry)
+ sbutton = gtk.Button("Search")
+ sbutton.connect("clicked", self.searchAction, "search")
+ sbutton.show()
+ sbox.add(sbutton)
+ self.pack_start(sbox, expand=False, fill=False, padding=0)
+ s_window = gtk.ScrolledWindow()
+ s_window.set_policy(gtk.POLICY_AUTOMATIC,
+ gtk.POLICY_AUTOMATIC)
+ s_window.show()
+ s_window.add(self._treeView)
+ self.add(s_window)
def updateInstalledLibraries(self):
self._table.clear()
@@ -42,15 +60,31 @@
row.append(pack)
self._table.append(row)
- def show(self):
- self._treeView.show()
+ def searchAction(self, widget, data=None):
+ string = (self.sentry.get_text())
+ self.updateInstalledLibraries()
+ if string is None:
+ return
+ matches = robjects.r["help.search"](string).subset("matches")[0]
+ spacks = [x for x in matches.subset(True, "Package")._sexp]
+ spacks = set(spacks)
+ toremove = []
+ for ii, row in enumerate(self._table):
+ if not (row[0] in spacks):
+ toremove.append(ii)
+ toremove.reverse()
+ for r in toremove:
+ self._table.remove(self._table.get_iter(r))
-class VignetteExplorer(object):
- def __init__(self, parent):
+class VignetteExplorer(gtk.VBox):
+
+ def __init__(self):
+ super(VignetteExplorer, self).__init__()
self._table = gtk.ListStore(str, str, str)
self.updateKnownVignettes()
self._treeView = gtk.TreeView(model = self._table)
+ self._treeView.show()
self._valueColumns = [gtk.TreeViewColumn('Package'),
gtk.TreeViewColumn('Item'),
gtk.TreeViewColumn('Title')]
@@ -61,8 +95,21 @@
col.pack_start(cr, True)
self._valueCells.append(cr)
col.set_attributes(cr, text=col_i)
- parent.add(self._treeView)
- self.parent = parent
+ sbox = gtk.HBox(homogeneous=False, spacing=0)
+ #sbox.show()
+ sentry = gtk.Entry()
+ sentry.show()
+ sbox.add(sentry)
+ sbutton = gtk.Button("Search")
+ sbutton.show()
+ sbox.add(sbutton)
+ self.pack_start(sbox, expand=False, fill=False, padding=0)
+ s_window = gtk.ScrolledWindow()
+ s_window.set_policy(gtk.POLICY_AUTOMATIC,
+ gtk.POLICY_AUTOMATIC)
+ s_window.show()
+ s_window.add(self._treeView)
+ self.add(s_window)
def updateKnownVignettes(self):
self._table.clear()
@@ -78,15 +125,15 @@
pack = vignettes.subset(i, 4)._sexp[0]
row.append(pack)
self._table.append(row)
- def show(self):
- self._treeView.show()
-class DocumentationExplorer(object):
+class HelpExplorer(gtk.VBox):
- def __init__(self, parent):
+ def __init__(self):
+ super(HelpExplorer, self).__init__()
self._table = gtk.ListStore(str, str, str)
- self.updateRelevantDoc("foo")
+ self.updateRelevantHelp(None)
self._treeView = gtk.TreeView(model = self._table)
+ self._treeView.show()
self._valueColumns = [gtk.TreeViewColumn('Topic'),
gtk.TreeViewColumn('Title'),
gtk.TreeViewColumn('Package'),]
@@ -97,11 +144,28 @@
col.pack_start(cr, True)
self._valueCells.append(cr)
col.set_attributes(cr, text=col_i)
- parent.add(self._treeView)
- self.parent = parent
+ sbox = gtk.HBox(homogeneous=False, spacing=0)
+ sbox.show()
+ self.sentry = gtk.Entry()
+ self.sentry.show()
+ sbox.add(self.sentry)
+ sbutton = gtk.Button("Search")
+ sbutton.connect("clicked", self.searchAction, "search")
- def updateRelevantDoc(self, string):
+ sbutton.show()
+ sbox.add(sbutton)
+ self.pack_start(sbox, expand=False, fill=False, padding=0)
+ s_window = gtk.ScrolledWindow()
+ s_window.set_policy(gtk.POLICY_AUTOMATIC,
+ gtk.POLICY_AUTOMATIC)
+ s_window.show()
+ s_window.add(self._treeView)
+ self.add(s_window)
+
+ def updateRelevantHelp(self, string):
self._table.clear()
+ if string is None:
+ return
matches = robjects.r["help.search"](string).subset("matches")[0]
#import pdb; pdb.set_trace()
nrows = robjects.r.nrow(matches)[0]
@@ -115,9 +179,10 @@
pack = matches.subset(i, 3)._sexp[0]
row.append(pack)
self._table.append(row)
- def show(self):
- self._treeView.show()
+ def searchAction(self, widget, data=None):
+ self.updateRelevantHelp(self.sentry.get_text())
+
class Main(object):
def __init__(self):
@@ -136,60 +201,20 @@
#vbox.show()
# libraries/packages
- vbox_lib = gtk.VBox(homogeneous=False, spacing=0)
- vbox_lib.show()
- sbox_lib = gtk.HBox(homogeneous=False, spacing=0)
- sbox_lib.show()
- sentry_lib = gtk.Entry()
- sentry_lib.show()
- sbox_lib.add(sentry_lib)
- sbutton_lib = gtk.Button("Search")
- sbutton_lib.show()
- sbox_lib.add(sbutton_lib)
- vbox_lib.pack_start(sbox_lib, expand=False, fill=False, padding=0)
-
- s_window_lib = gtk.ScrolledWindow()
- s_window_lib.set_policy(gtk.POLICY_AUTOMATIC,
- gtk.POLICY_AUTOMATIC)
- s_window_lib.show()
- libPanel = LibraryPanel(s_window_lib)
+ libPanel = LibraryPanel()
libPanel.show()
- vbox_lib.add(s_window_lib)
- notebook.append_page(vbox_lib, gtk.Label("Libraries"))
+ notebook.append_page(libPanel, gtk.Label("Libraries"))
# vignettes
- vbox_vig = gtk.VBox(homogeneous=False, spacing=0)
- vbox_vig.show()
- sbox_vig = gtk.HBox(homogeneous=False, spacing=0)
- sbox_vig.show()
- sentry_vig = gtk.Entry()
- sentry_vig.show()
- sbox_vig.add(sentry_vig)
- sbutton_vig = gtk.Button("Search")
- sbutton_vig.show()
- sbox_vig.add(sbutton_vig)
- vbox_vig.pack_start(sbox_vig, expand=False, fill=False, padding=0)
-
- scrolled_window = gtk.ScrolledWindow()
- scrolled_window.set_policy(gtk.POLICY_AUTOMATIC,
- gtk.POLICY_AUTOMATIC)
- scrolled_window.show()
- vigPanel = VignetteExplorer(scrolled_window)
+ vigPanel = VignetteExplorer()
vigPanel.show()
- vbox_vig.add(scrolled_window)
- notebook.append_page(vbox_vig, gtk.Label("Vignettes"))
+ notebook.append_page(vigPanel, gtk.Label("Vignettes"))
# doc
- s_window = gtk.ScrolledWindow()
- s_window.set_policy(gtk.POLICY_AUTOMATIC,
- gtk.POLICY_AUTOMATIC)
- s_window.show()
- docPanel = DocumentationExplorer(s_window)
+ docPanel = HelpExplorer()
docPanel.show()
- notebook.append_page(s_window, gtk.Label("Documentation"))
+ notebook.append_page(docPanel, gtk.Label("Documentation"))
- # search
- #window.add(vbox)
window.add(notebook)
window.show()
Modified: branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py
===================================================================
--- branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py 2008-03-21
11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/rinterface/tests/test_Sexp.py 2008-03-21
14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
import unittest
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
#FIXME: can starting and stopping an embedded R be done several times ?
rinterface.initEmbeddedR("foo", "--vanilla", "--no-save", "--quiet")
Modified: branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py
===================================================================
--- branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py
2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/rinterface/tests/test_SexpEnvironment.py
2008-03-21 14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
import unittest
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
#FIXME: can starting and stopping an embedded R be done several times ?
rinterface.initEmbeddedR("foo", "--vanilla", "--no-save", "--quiet")
Modified: branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py
===================================================================
--- branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py
2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/rinterface/tests/test_SexpVector.py
2008-03-21 14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
import unittest
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
#FIXME: can starting and stopping an embedded R be done several times ?
rinterface.initEmbeddedR("foo", "--vanilla", "--no-save", "--quiet")
Modified: branches/rpy_nextgen/rpy/robjects/__init__.py
===================================================================
--- branches/rpy_nextgen/rpy/robjects/__init__.py 2008-03-21 11:25:12 UTC
(rev 451)
+++ branches/rpy_nextgen/rpy/robjects/__init__.py 2008-03-21 14:08:43 UTC
(rev 452)
@@ -8,7 +8,7 @@
import os
import array
-import rpy.rinterface as rinterface
+import rpy2.rinterface as rinterface
#FIXME: close everything when leaving (check RPy for that).
Modified: branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py
===================================================================
--- branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py 2008-03-21
11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/rpy/robjects/tests/testRobjects.py 2008-03-21
14:08:43 UTC (rev 452)
@@ -1,5 +1,5 @@
import unittest
-import rpy.robjects as robjects
+import rpy2.robjects as robjects
rinterface = robjects.rinterface
import array
Modified: branches/rpy_nextgen/setup.py
===================================================================
--- branches/rpy_nextgen/setup.py 2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/setup.py 2008-03-21 14:08:43 UTC (rev 452)
@@ -22,7 +22,7 @@
rinterface = Extension(
- "rpy.rinterface",
+ "rpy2.rinterface",
["rpy/rinterface/rinterface.c", ],
include_dirs=[ os.path.join(RHOME, 'include'),],
libraries=['R', 'Rlapack', 'Rblas'],
@@ -37,7 +37,8 @@
url="http://rpy.sourceforge.net",
license="(L)GPL",
ext_modules = [rinterface],
- packages = ['rpy', 'rpy.robjects']
+ package_dir = {'rpy2': 'rpy'},
+ packages = ['rpy2', 'rpy2.robjects']
)
Modified: branches/rpy_nextgen/test.py
===================================================================
--- branches/rpy_nextgen/test.py 2008-03-21 11:25:12 UTC (rev 451)
+++ branches/rpy_nextgen/test.py 2008-03-21 14:08:43 UTC (rev 452)
@@ -5,7 +5,7 @@
dump and a segfault.
"""
-import rpy.robjects as robjects
+import rpy2.robjects as robjects
import array
r = robjects.r
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
rpy-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rpy-list