[Python-checkins] cpython (3.4): Issue #18592: Method return signature changes made to SearchDialogBase for

terry.reedy python-checkins at python.org
Sun Jul 13 23:28:28 CEST 2014


http://hg.python.org/cpython/rev/407110796b16
changeset:   91669:407110796b16
branch:      3.4
parent:      91666:385f4406dc26
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Sun Jul 13 17:27:26 2014 -0400
summary:
  Issue #18592: Method return signature changes made to SearchDialogBase for
test purposes are now reflected in GrepDialog and ReplaceDialog.  Docstrings
are improved. Initial patch by Saimadhav Heblikar

files:
  Lib/idlelib/GrepDialog.py                      |   4 +-
  Lib/idlelib/ReplaceDialog.py                   |   2 +-
  Lib/idlelib/SearchDialogBase.py                |  46 ++++++---
  Lib/idlelib/idle_test/test_searchdialogbase.py |   2 +-
  4 files changed, 35 insertions(+), 19 deletions(-)


diff --git a/Lib/idlelib/GrepDialog.py b/Lib/idlelib/GrepDialog.py
--- a/Lib/idlelib/GrepDialog.py
+++ b/Lib/idlelib/GrepDialog.py
@@ -45,10 +45,10 @@
 
     def create_entries(self):
         SearchDialogBase.create_entries(self)
-        self.globent = self.make_entry("In files:", self.globvar)
+        self.globent = self.make_entry("In files:", self.globvar)[0]
 
     def create_other_buttons(self):
-        f = self.make_frame()
+        f = self.make_frame()[0]
 
         btn = Checkbutton(f, anchor="w",
                 variable=self.recvar,
diff --git a/Lib/idlelib/ReplaceDialog.py b/Lib/idlelib/ReplaceDialog.py
--- a/Lib/idlelib/ReplaceDialog.py
+++ b/Lib/idlelib/ReplaceDialog.py
@@ -40,7 +40,7 @@
 
     def create_entries(self):
         SearchDialogBase.create_entries(self)
-        self.replent = self.make_entry("Replace with:", self.replvar)
+        self.replent = self.make_entry("Replace with:", self.replvar)[0]
 
     def create_command_buttons(self):
         SearchDialogBase.create_command_buttons(self)
diff --git a/Lib/idlelib/SearchDialogBase.py b/Lib/idlelib/SearchDialogBase.py
--- a/Lib/idlelib/SearchDialogBase.py
+++ b/Lib/idlelib/SearchDialogBase.py
@@ -89,21 +89,29 @@
         self.create_other_buttons()  # next row, cols 0, 1
         self.create_command_buttons()  # col 2, all rows
 
-    def make_entry(self, label, var):
-        "Return gridded labeled Entry."
-        l = Label(self.top, text=label)
-        l.grid(row=self.row, column=0, sticky="nw")
-        e = Entry(self.top, textvariable=var, exportselection=0)
-        e.grid(row=self.row, column=1, sticky="nwe")
+    def make_entry(self, label_text, var):
+        '''Return (entry, label), .
+
+        entry - gridded labeled Entry for text entry.
+        label - Label widget, returned for testing.
+        '''
+        label = Label(self.top, text=label_text)
+        label.grid(row=self.row, column=0, sticky="nw")
+        entry = Entry(self.top, textvariable=var, exportselection=0)
+        entry.grid(row=self.row, column=1, sticky="nwe")
         self.row = self.row + 1
-        return l, e  # return label for testing
+        return entry, label
 
     def create_entries(self):
         "Create one or more entry lines with make_entry."
-        self.ent = self.make_entry("Find:", self.engine.patvar)[1]
+        self.ent = self.make_entry("Find:", self.engine.patvar)[0]
 
     def make_frame(self,labeltext=None):
-        "Return gridded labeled Frame for option or other buttons."
+        '''Return (frame, label).
+
+        frame - gridded labeled Frame for option or other buttons.
+        label - Label widget, returned for testing.
+        '''
         if labeltext:
             label = Label(self.top, text=labeltext)
             label.grid(row=self.row, column=0, sticky="nw")
@@ -112,10 +120,15 @@
         frame = Frame(self.top)
         frame.grid(row=self.row, column=1, columnspan=1, sticky="nwe")
         self.row = self.row + 1
-        return frame, label  # label for test
+        return frame, label
 
     def create_option_buttons(self):
-        "Fill frame with Checkbuttons bound to SearchEngine booleanvars."
+        '''Return (filled frame, options) for testing.
+
+        Options is a list of SearchEngine booleanvar, label pairs.
+        A gridded frame from make_frame is filled with a Checkbutton
+        for each pair, bound to the var, with the corresponding label.
+        '''
         frame = self.make_frame("Options")[0]
         engine = self.engine
         options = [(engine.revar, "Regular expression"),
@@ -128,10 +141,14 @@
             btn.pack(side="left", fill="both")
             if var.get():
                 btn.select()
-        return frame, options  # for test
+        return frame, options
 
     def create_other_buttons(self):
-        "Fill frame with buttons tied to other options."
+        '''Return (frame, others) for testing.
+
+        Others is a list of value, label pairs.
+        A gridded frame from make_frame is filled with radio buttons.
+        '''
         frame = self.make_frame("Direction")[0]
         var = self.engine.backvar
         others = [(1, 'Up'), (0, 'Down')]
@@ -139,10 +156,9 @@
             btn = Radiobutton(frame, anchor="w",
                               variable=var, value=val, text=label)
             btn.pack(side="left", fill="both")
-            #print(var.get(), val, label)
             if var.get() == val:
                 btn.select()
-        return frame, others  # for test
+        return frame, others
 
     def make_button(self, label, command, isdef=0):
         "Return command button gridded in command frame."
diff --git a/Lib/idlelib/idle_test/test_searchdialogbase.py b/Lib/idlelib/idle_test/test_searchdialogbase.py
--- a/Lib/idlelib/idle_test/test_searchdialogbase.py
+++ b/Lib/idlelib/idle_test/test_searchdialogbase.py
@@ -75,7 +75,7 @@
         equal = self.assertEqual
         self.dialog.row = 0
         self.dialog.top = Toplevel(self.root)
-        label, entry = self.dialog.make_entry("Test:", 'hello')
+        entry, label = self.dialog.make_entry("Test:", 'hello')
         equal(label['text'], 'Test:')
 
         self.assertIn(entry.get(), 'hello')

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list