From 635d59b25d3133f17a1f4d4852de31ab436bd41a Mon Sep 17 00:00:00 2001 From: eblade Date: Sun, 8 Mar 2009 16:28:09 -0400 Subject: [PATCH] use some lambda map/filter calls where they make sense instead of for loops localize some variables in the HUD update function --- pyfpdb/HUD_main.py | 3 +-- pyfpdb/Hud.py | 54 +++++++++++++++++++++---------------------- pyfpdb/fpdb_import.py | 5 ++-- 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/pyfpdb/HUD_main.py b/pyfpdb/HUD_main.py index d611c314..aeb3bea7 100755 --- a/pyfpdb/HUD_main.py +++ b/pyfpdb/HUD_main.py @@ -123,8 +123,7 @@ class HUD_main(object): gtk.gdk.threads_enter() try: self.hud_dict[table_name].update(new_hand_id, config) - for m in self.hud_dict[table_name].aux_windows: - m.update_gui(new_hand_id) + map(lambda aw: aw.update_gui(new_hand_id), self.hud_dict[table_name].aux_windows) return False finally: gtk.gdk.threads_leave() diff --git a/pyfpdb/Hud.py b/pyfpdb/Hud.py index 0e4f4e08..22d9e7a3 100644 --- a/pyfpdb/Hud.py +++ b/pyfpdb/Hud.py @@ -190,16 +190,14 @@ class Hud: # heap dead, burnt bodies, blood 'n guts, veins between my teeth for s in self.stat_windows.itervalues(): s.kill_popups() - s.window.destroy() - self.stat_windows = {} + s.window.destroy() + self.stat_windows = {} # also kill any aux windows - for m in self.aux_windows: - m.destroy() + map(lambda m: m.destroy(), self.aux_windows) self.aux_windows = [] def reposition_windows(self, *args): - for w in self.stat_windows: - self.stat_windows[w].window.move(self.stat_windows[w].x, self.stat_windows[w].y) + map(lambda x: x.window.move(x.x, x.y), self.stat_windows) return True def debug_stat_windows(self, *args): @@ -239,7 +237,7 @@ class Hud: return adj def get_actual_seat(self, name): - for key in self.stat_dict.keys(): + for key in self.stat_dict: if self.stat_dict[key]['screen_name'] == name: return self.stat_dict[key]['seat'] sys.stderr.write("Error finding actual seat.\n") @@ -369,8 +367,7 @@ class Stat_Window: self.popups.remove(popup) def kill_popups(self): - for x in self.popups: - self.popups[x].window.destroy() + map(lambda x: x.window.destroy(), self.popups) self.popups = { } def relocate(self, x, y): @@ -406,35 +403,38 @@ class Stat_Window: self.e_box = [] self.frame = [] self.label = [] + usegtkframes = self.useframes + e_box = self.e_box + label = self.label for r in xrange(self.game.rows): - if self.useframes: + if usegtkframes: self.frame.append([]) - self.e_box.append([]) - self.label.append([]) + e_box.append([]) + label.append([]) for c in xrange(self.game.cols): - if self.useframes: + if usegtkframes: self.frame[r].append( gtk.Frame() ) - self.e_box[r].append( gtk.EventBox() ) + e_box[r].append( gtk.EventBox() ) - self.e_box[r][c].modify_bg(gtk.STATE_NORMAL, parent.backgroundcolor) - self.e_box[r][c].modify_fg(gtk.STATE_NORMAL, parent.foregroundcolor) + e_box[r][c].modify_bg(gtk.STATE_NORMAL, parent.backgroundcolor) + e_box[r][c].modify_fg(gtk.STATE_NORMAL, parent.foregroundcolor) - Stats.do_tip(self.e_box[r][c], 'stuff') - if self.useframes: + Stats.do_tip(e_box[r][c], 'stuff') + if usegtkframes: self.grid.attach(self.frame[r][c], c, c+1, r, r+1, xpadding = 0, ypadding = 0) - self.frame[r][c].add(self.e_box[r][c]) + self.frame[r][c].add(e_box[r][c]) else: - self.grid.attach(self.e_box[r][c], c, c+1, r, r+1, xpadding = 0, ypadding = 0) - self.label[r].append( gtk.Label('xxx') ) + self.grid.attach(e_box[r][c], c, c+1, r, r+1, xpadding = 0, ypadding = 0) + label[r].append( gtk.Label('xxx') ) - if self.useframes: + if usegtkframes: self.frame[r][c].modify_bg(gtk.STATE_NORMAL, parent.backgroundcolor) - self.label[r][c].modify_bg(gtk.STATE_NORMAL, parent.backgroundcolor) - self.label[r][c].modify_fg(gtk.STATE_NORMAL, parent.foregroundcolor) + label[r][c].modify_bg(gtk.STATE_NORMAL, parent.backgroundcolor) + label[r][c].modify_fg(gtk.STATE_NORMAL, parent.foregroundcolor) - self.e_box[r][c].add(self.label[r][c]) - self.e_box[r][c].connect("button_press_event", self.button_press_cb) - self.label[r][c].modify_font(font) + e_box[r][c].add(self.label[r][c]) + e_box[r][c].connect("button_press_event", self.button_press_cb) + label[r][c].modify_font(font) self.window.set_opacity(parent.colors['hudopacity']) diff --git a/pyfpdb/fpdb_import.py b/pyfpdb/fpdb_import.py index c6848db7..f707e985 100644 --- a/pyfpdb/fpdb_import.py +++ b/pyfpdb/fpdb_import.py @@ -202,8 +202,7 @@ class Importer: if (time() - stat_info.st_mtime) < 60 or os.path.isdir(file): # TODO: figure out a way to dispatch this to the seperate thread so our main window doesn't lock up on initial import self.import_file_dict(file, self.filelist[file][0], self.filelist[file][1]) - for dir in self.addToDirList: - self.addImportDirectory(dir, True, self.addToDirList[dir][0], self.addToDirList[dir][1]) + self.addToDirList = filter(lambda x: self.addImportDirectory(x, True, self.addToDirList[x][0], self.addToDirList[x][1]), self.addToDirList) for file in self.removeFromFileList: if file in self.filelist: @@ -294,7 +293,7 @@ class Importer: partial=0 #counter errors=0 #counter - for i in range (len(self.lines)): #main loop, iterates through the lines of a file and calls the appropriate parser method + for i in xrange (len(self.lines)): #main loop, iterates through the lines of a file and calls the appropriate parser method if (len(self.lines[i])<2): endpos=i hand=self.lines[startpos:endpos]