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 rpy-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rpy-list