Do the usual cleanups (try to remove as much as possible
use of reserved symbols), and also, reduce cross dependency
on other autotest libs. step editor is useful even outside
of the autotest realm, so this paves the way for external
usage of this application.

Signed-off-by: Lucas Meneghel Rodrigues <[email protected]>
---
 client/virt/ppm_utils.py   |  25 +++++-
 client/virt/step_editor.py | 195 ++++++++++++++++++++-------------------------
 2 files changed, 110 insertions(+), 110 deletions(-)

diff --git a/client/virt/ppm_utils.py b/client/virt/ppm_utils.py
index 95c49fb..7fa1b71 100644
--- a/client/virt/ppm_utils.py
+++ b/client/virt/ppm_utils.py
@@ -5,10 +5,31 @@ Utility functions to deal with ppm (qemu screendump format) 
files.
 """
 
 import os, struct, time, re
-from autotest.client import utils
+try:
+    import hashlib
+except ImportError:
+    import md5
 
 # Some directory/filename utils, for consistency
 
+def md5eval(data):
+    """
+    Returns a md5 hash evaluator. This function is implemented in order to
+    encapsulate objects in a way that is compatible with python 2.4 and
+    python 2.6 without warnings.
+
+    @param data: Optional input string that will be used to update the object.
+    """
+    try:
+        hsh = hashlib.new(type)
+    except NameError:
+        hsh = md5.new()
+    if data:
+        hsh.update(data)
+
+    return hsh
+
+
 def find_id_for_screendump(md5sum, data_dir):
     """
     Search dir for a PPM file whose name ends with md5sum.
@@ -120,7 +141,7 @@ def image_md5sum(width, height, data):
     @data: PPM file data
     """
     header = "P6\n%d %d\n255\n" % (width, height)
-    hsh = utils.hash('md5', header)
+    hsh = md5eval(header)
     hsh.update(data)
     return hsh.hexdigest()
 
diff --git a/client/virt/step_editor.py b/client/virt/step_editor.py
index 073a9ac..9cb3660 100755
--- a/client/virt/step_editor.py
+++ b/client/virt/step_editor.py
@@ -8,10 +8,6 @@ Step file creator/editor.
 """
 
 import pygtk, gtk, os, glob, shutil, sys, logging
-try:
-    import autotest.common as common
-except ImportError:
-    import common
 import ppm_utils
 pygtk.require('2.0')
 
@@ -49,65 +45,65 @@ def key_event_to_qemu_string(event):
     keyval = keyvals[0][0]
     keyname = gtk.gdk.keyval_name(keyval)
 
-    dict = { "Return": "ret",
-             "Tab": "tab",
-             "space": "spc",
-             "Left": "left",
-             "Right": "right",
-             "Up": "up",
-             "Down": "down",
-             "F1": "f1",
-             "F2": "f2",
-             "F3": "f3",
-             "F4": "f4",
-             "F5": "f5",
-             "F6": "f6",
-             "F7": "f7",
-             "F8": "f8",
-             "F9": "f9",
-             "F10": "f10",
-             "F11": "f11",
-             "F12": "f12",
-             "Escape": "esc",
-             "minus": "minus",
-             "equal": "equal",
-             "BackSpace": "backspace",
-             "comma": "comma",
-             "period": "dot",
-             "slash": "slash",
-             "Insert": "insert",
-             "Delete": "delete",
-             "Home": "home",
-             "End": "end",
-             "Page_Up": "pgup",
-             "Page_Down": "pgdn",
-             "Menu": "menu",
-             "semicolon": "0x27",
-             "backslash": "0x2b",
-             "apostrophe": "0x28",
-             "grave": "0x29",
-             "less": "0x2b",
-             "bracketleft": "0x1a",
-             "bracketright": "0x1b",
-             "Super_L": "0xdc",
-             "Super_R": "0xdb",
-             }
+    keymap = { "Return": "ret",
+               "Tab": "tab",
+               "space": "spc",
+               "Left": "left",
+               "Right": "right",
+               "Up": "up",
+               "Down": "down",
+               "F1": "f1",
+               "F2": "f2",
+               "F3": "f3",
+               "F4": "f4",
+               "F5": "f5",
+               "F6": "f6",
+               "F7": "f7",
+               "F8": "f8",
+               "F9": "f9",
+               "F10": "f10",
+               "F11": "f11",
+               "F12": "f12",
+               "Escape": "esc",
+               "minus": "minus",
+               "equal": "equal",
+               "BackSpace": "backspace",
+               "comma": "comma",
+               "period": "dot",
+               "slash": "slash",
+               "Insert": "insert",
+               "Delete": "delete",
+               "Home": "home",
+               "End": "end",
+               "Page_Up": "pgup",
+               "Page_Down": "pgdn",
+               "Menu": "menu",
+               "semicolon": "0x27",
+               "backslash": "0x2b",
+               "apostrophe": "0x28",
+               "grave": "0x29",
+               "less": "0x2b",
+               "bracketleft": "0x1a",
+               "bracketright": "0x1b",
+               "Super_L": "0xdc",
+               "Super_R": "0xdb",
+               }
 
     if ord('a') <= keyval <= ord('z') or ord('0') <= keyval <= ord('9'):
-        str = keyname
-    elif keyname in dict.keys():
-        str = dict[keyname]
+        sr = keyname
+    elif keyname in keymap.keys():
+        sr = keymap[keyname]
     else:
         return ""
 
     if event.state & gtk.gdk.CONTROL_MASK:
-        str = "ctrl-" + str
+        sr = "ctrl-" + str
     if event.state & gtk.gdk.MOD1_MASK:
-        str = "alt-" + str
+        sr = "alt-" + str
     if event.state & gtk.gdk.SHIFT_MASK:
-        str = "shift-" + str
+        sr = "shift-" + str
 
-    return str
+    return sr
 
 
 class StepMakerWindow:
@@ -352,7 +348,7 @@ class StepMakerWindow:
                 title)
         dlg.set_title(title)
         dlg.format_secondary_text(text)
-        response = dlg.run()
+        dlg.run()
         dlg.destroy()
 
 
@@ -577,60 +573,60 @@ class StepMakerWindow:
             self.message("No barrier region selected.", "Error")
             return
 
-        str = "step"
+        sr = "step"
 
         # Add step recording time
         if self.entry_time.get_text():
-            str += " " + self.entry_time.get_text()
+            sr += " " + self.entry_time.get_text()
 
-        str += "\n"
+        sr += "\n"
 
         # Add screendump line
         if self.image_data:
-            str += "screendump %s\n" % self.entry_screendump.get_text()
+            sr += "screendump %s\n" % self.entry_screendump.get_text()
 
         # Add comment
         if self.entry_comment.get_text():
-            str += "# %s\n" % self.entry_comment.get_text()
+            sr += "# %s\n" % self.entry_comment.get_text()
 
         # Add sleep line
         if self.check_sleep.get_active():
-            str += "sleep %d\n" % self.spin_sleep.get_value()
+            sr += "sleep %d\n" % self.spin_sleep.get_value()
 
         # Add barrier_2 line
         if self.check_barrier.get_active():
-            str += "barrier_2 %d %d %d %d %s %d" % (
+            sr += "barrier_2 %d %d %d %d %s %d" % (
                     self.barrier_size[0], self.barrier_size[1],
                     self.barrier_corner[0], self.barrier_corner[1],
                     self.barrier_md5sum, self.spin_barrier_timeout.get_value())
             if self.check_barrier_optional.get_active():
-                str += " optional"
-            str += "\n"
+                sr += " optional"
+            sr += "\n"
 
         # Add "Sending keys" comment
         keys_to_send = self.get_keys().split()
         if keys_to_send:
-            str += "# Sending keys: %s\n" % self.get_keys()
+            sr += "# Sending keys: %s\n" % self.get_keys()
 
         # Add key and var lines
         for key in keys_to_send:
             if key.startswith("$"):
                 varname = key[1:]
-                str += "var %s\n" % varname
+                sr += "var %s\n" % varname
             else:
-                str += "key %s\n" % key
+                sr += "key %s\n" % key
 
         # Add mousemove line
         if self.check_mousemove.get_active():
-            str += "mousemove %d %d\n" % (self.mouse_click_coords[0],
+            sr += "mousemove %d %d\n" % (self.mouse_click_coords[0],
                                           self.mouse_click_coords[1])
 
         # Add mouseclick line
         if self.check_mouseclick.get_active():
-            dict = { 1 : 1,
-                     2 : 2,
-                     3 : 4 }
-            str += "mouseclick %d\n" % dict[self.mouse_click_button]
+            mapping = { 1 : 1,
+                        2 : 2,
+                        3 : 4 }
+            sr += "mouseclick %d\n" % mapping[self.mouse_click_button]
 
         # Write screendump and cropped screendump image files
         if data_dir and self.image_data:
@@ -650,38 +646,21 @@ class StepMakerWindow:
                 except IOError:
                     self.message("Could not write screendump file.", "Error")
 
-            #if self.check_barrier.get_active():
-            #    # Crop image to get the cropped screendump
-            #    (cw, ch, cdata) = ppm_utils.image_crop(
-            #            self.image_width, self.image_height, self.image_data,
-            #            self.barrier_corner[0], self.barrier_corner[1],
-            #            self.barrier_size[0], self.barrier_size[1])
-            #    cropped_scrdump_md5sum = ppm_utils.image_md5sum(cw, ch, cdata)
-            #    cropped_scrdump_filename = \
-            #    ppm_utils.get_cropped_screendump_filename(scrdump_filename,
-            #                                            
cropped_scrdump_md5sum)
-            #    # Write cropped screendump file
-            #    try:
-            #        
ppm_utils.image_write_to_ppm_file(cropped_scrdump_filename,
-            #                                          cw, ch, cdata)
-            #    except IOError:
-            #        self.message("Could not write cropped screendump file.",
-            #                     "Error")
-
-        return str
-
-    def set_state_from_step_lines(self, str, data_dir, warn=True):
+        return sr
+
+    def set_state_from_step_lines(self, sr, data_dir, warn=True):
         self.clear_state()
 
-        for line in str.splitlines():
+        for line in sr.splitlines():
             words = line.split()
             if not words:
                 continue
 
-            if line.startswith("#") \
-                    and not self.entry_comment.get_text() \
-                    and not line.startswith("# Sending keys:") \
-                    and not line.startswith("# ----"):
+            if (line.startswith("#") and not
+                self.entry_comment.get_text() and not
+                line.startswith("# Sending keys:") and not
+                line.startswith("# ----")):
+
                 self.entry_comment.set_text(line.strip("#").strip())
 
             elif words[0] == "step":
@@ -865,8 +844,8 @@ class StepMakerWindow:
     def event_key_press(self, widget, event):
         if self.check_manual.get_active():
             return False
-        str = key_event_to_qemu_string(event)
-        self.add_key(str)
+        sr = key_event_to_qemu_string(event)
+        self.add_key(sr)
         return True
 
 
@@ -1215,7 +1194,7 @@ class StepEditor(StepMakerWindow):
 
     def insert_steps(self, filename, index):
         # Read the steps file
-        (steps, header) = self.read_steps_file(filename)
+        (steps, _) = self.read_steps_file(filename)
 
         data_dir = ppm_utils.get_data_dir(filename)
         for step in steps:
@@ -1301,7 +1280,7 @@ class StepEditor(StepMakerWindow):
         steps = []
         header = ""
 
-        file = open(filename, "r")
+        fileobj = open(filename, "r")
         for line in file.readlines():
             words = line.split()
             if not words:
@@ -1314,7 +1293,7 @@ class StepEditor(StepMakerWindow):
                 steps[-1] += line
             else:
                 header += line
-        file.close()
+        fileobj.close()
 
         return (steps, header)
 
@@ -1390,12 +1369,12 @@ class StepEditor(StepMakerWindow):
             self.write_steps_file(self.steps_filename)
 
     def write_steps_file(self, filename):
-        file = open(filename, "w")
-        file.write(self.header)
+        fileobj = open(filename, "w")
+        fileobj.write(self.header)
         for step in self.steps:
-            file.write("# " + "-" * 32 + "\n")
-            file.write(step)
-        file.close()
+            fileobj.write("# " + "-" * 32 + "\n")
+            fileobj.write(step)
+        fileobj.close()
 
 
 if __name__ == "__main__":
-- 
1.7.11.4

_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel

Reply via email to