[Avida-cvs] [Avida2-svn] r66 - trunk/source/python/AvidaGui2

baerb at myxo.css.msu.edu baerb at myxo.css.msu.edu
Mon Mar 21 14:38:26 PST 2005


Author: baerb
Date: 2005-03-21 17:38:26 -0500 (Mon, 21 Mar 2005)
New Revision: 66

Modified:
   trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
   trunk/source/python/AvidaGui2/pyFreezerCtrl.py
   trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
   trunk/source/python/AvidaGui2/pySessionCtrl.py
   trunk/source/python/AvidaGui2/pySessionDumbCtrl.py
Log:
Fixed problems with listing the Freezer inventory when changing directory or
freezing a petri dish

Program now uses the unique temporary directory to save input/output files.



Modified: trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
+++ trunk/source/python/AvidaGui2/pyEduWorkspaceCtrl.py	2005-03-21 22:38:26 UTC (rev 66)
@@ -109,13 +109,12 @@
 
   def freezerOpen(self):
     freezer_dir = QFileDialog.getExistingDirectory(
-                    self.m_session_mdl.current_freezer,
+                    self.m_session_mdl.m_current_freezer,
                     None,
                     "get existing directory",
                     "Choose a directory",
                     True);
-    print freezer_dir;
-    self.m_session_mdl.current_freezer = str(freezer_dir) + "/"
+    self.m_session_mdl.m_current_freezer = str(freezer_dir) + "/"
     self.m_session_mdl.m_session_mdtr.emit(
       PYSIGNAL("doRefreshFreezerInventory"), ())
 

Modified: trunk/source/python/AvidaGui2/pyFreezerCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyFreezerCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
+++ trunk/source/python/AvidaGui2/pyFreezerCtrl.py	2005-03-21 22:38:26 UTC (rev 66)
@@ -27,13 +27,23 @@
     
   def createFreezerIndexSlot(self):
     empty_item = self.m_list_view.firstChild()
-#    if empty_item.firstChild():
-#      print empty_item.firstChild().text(0)
+    while empty_item.firstChild():
+      tmp_child = empty_item.firstChild()
+      empty_item.takeItem(tmp_child)
+      del (tmp_child)
     full_item = empty_item.nextSibling()
+    while full_item.firstChild():
+      tmp_child = full_item.firstChild()
+      full_item.takeItem(tmp_child)
+      del (tmp_child)
     organism_item = full_item.nextSibling()
-    if os.path.exists(self.m_session_mdl.current_freezer) == False:
-      os.mkdir(self.m_session_mdl.current_freezer)
-    freezer_dir =  os.listdir(self.m_session_mdl.current_freezer)
+    while organism_item.firstChild():
+      tmp_child = organism_item.firstChild()
+      organism_item.takeItem(tmp_child)
+      del (tmp_child)
+    if os.path.exists(self.m_session_mdl.m_current_freezer) == False:
+      os.mkdir(self.m_session_mdl.m_current_freezer)
+    freezer_dir =  os.listdir(self.m_session_mdl.m_current_freezer)
     for file in freezer_dir:
       if file.endswith(".empty"):
         dish_name = file[:-6]
@@ -67,7 +77,7 @@
         file_name = str(item.text(0)) + ".full/petri_dish"
       elif str(top_level.text(0)).startswith(" Organism"):
         file_name = str(item.text(0)) + ".organism"
-      file_name = self.m_session_mdl.current_freezer + file_name
+      file_name = self.m_session_mdl.m_current_freezer + file_name
       thawed_item = pyReadFreezer(file_name)
       self.m_session_mdl.m_session_mdtr.emit(PYSIGNAL("doDefrostDishSig"),
         (thawed_item,))

Modified: trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
+++ trunk/source/python/AvidaGui2/pyPetriConfigureCtrl.py	2005-03-21 22:38:26 UTC (rev 66)
@@ -91,7 +91,6 @@
   
   def FillDishSlot(self, petri_dict):
     self.full_petri_dict = petri_dict.dictionary
-    print "in FillDishSlot keys = " + str(self.full_petri_dict.keys())
     settings_dict =  petri_dict.dictionary["SETTINGS"]
     self.AncestorComboBox.removeItem (0)
     start_creature = settings_dict["START_CREATURE"]
@@ -167,10 +166,10 @@
 
   def CreateFilesFromPetriSlot(self, out_dir = None):
     self.full_petri_dict["SETTINGS"] = self.Form2Dictionary()
-    print "in CreateFilesFromPetriSlot keys = " + str(self.full_petri_dict.keys())
-    write_object = pyWriteGenesis(self.full_petri_dict, self.m_session_mdl.current_freezer, "test/")
+    write_object = pyWriteGenesis(self.full_petri_dict, 
+      self.m_session_mdl.m_current_freezer, self.m_session_mdl.m_tempdir)
     self.m_session_mdl.m_session_mdtr.emit(
-      PYSIGNAL("doInitializeAvidaPhaseIISig"), ("test/genesis.avida",))
+      PYSIGNAL("doInitializeAvidaPhaseIISig"), (self.m_session_mdl.m_tempdir + "genesis.avida",))
       
   def Form2Dictionary(self):
     settings_dict = {}
@@ -203,13 +202,17 @@
     return settings_dict
     
   def FreezePetriSlot(self, freeze_dir = None, population_dict = None):
+    tmp_dict = {}
     tmp_dict["SETTINGS"] = self.Form2Dictionary()
     m_pop_up_freezer_file_name = pyFreezeDialogCtrl()
-    file_name = m_pop_up_freezer_file_name.showDialog(self.m_session_mdl.current_freezer)
+    file_name = m_pop_up_freezer_file_name.showDialog(self.m_session_mdl.m_current_freezer)
     if (m_pop_up_freezer_file_name.isEmpty() == False):
       os.mkdir(file_name)
       file_name = file_name + "/petri_dish"
       tmp_dict["POPULATION"] = population_dict
     is_empty_dish = m_pop_up_freezer_file_name.EmptyRadioButton.isChecked()
     freezer_file = pyWriteToFreezer(tmp_dict, is_empty_dish, file_name)
+    self.m_session_mdl.m_session_mdtr.emit(
+      PYSIGNAL("doRefreshFreezerInventory"), ())
+
     
\ No newline at end of file

Modified: trunk/source/python/AvidaGui2/pySessionCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pySessionCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
+++ trunk/source/python/AvidaGui2/pySessionCtrl.py	2005-03-21 22:38:26 UTC (rev 66)
@@ -40,10 +40,10 @@
     # Create "model" for storing state data.
     class pyMdl: pass
     self.m_session_mdl = pyMdl()
-    self.m_session_mdl.current_freezer = "freezer/"
+    self.m_session_mdl.m_current_freezer = "freezer/"
 
     # Create a temporary subdirectory for general use in this session.
-    self.m_session_mdl.m_tempdir = tempfile.mkdtemp('-pid%d'%os.getpid(),'AvidaEd-')
+    self.m_session_mdl.m_tempdir = tempfile.mkdtemp('-pid%d'%os.getpid(),'AvidaEd-') + "/"
 
     # Create session mediator.
     self.m_session_mdl.m_session_mdtr = pyMdtr()

Modified: trunk/source/python/AvidaGui2/pySessionDumbCtrl.py
===================================================================
--- trunk/source/python/AvidaGui2/pySessionDumbCtrl.py	2005-03-21 17:22:48 UTC (rev 65)
+++ trunk/source/python/AvidaGui2/pySessionDumbCtrl.py	2005-03-21 22:38:26 UTC (rev 66)
@@ -157,7 +157,8 @@
   def doStart(self):
     if self.sessionInitialized == False:
       self.m_session_mdl.m_session_mdtr.emit(
-      PYSIGNAL("doInitializeAvidaPhaseISig"), ("test/",))
+      PYSIGNAL("doInitializeAvidaPhaseISig"), 
+        (self.m_session_mdl.m_tempdir,))
       self.sessionInitialized = True
     self.m_should_update = True
     self.m_startpause_avida_pb.setText(self.m_pause_pb_text)




More information about the Avida-cvs mailing list