[gnome-games] gnome-sudoku: Style cleanup in several files



commit 78f84b9b18d3cd4e0d6a69ed686387b0eed12afa
Author: Zhang Sen <zh jesse gmail com>
Date:   Wed May 13 21:54:08 2009 +0800

    gnome-sudoku: Style cleanup in several files
    
    Nothing but adding spaces and newlines. Part of bug 578903.
---
 gnome-sudoku/src/lib/colors.py               |   83 +++++---
 gnome-sudoku/src/lib/defaults.py.in          |    8 +-
 gnome-sudoku/src/lib/dialog_swallower.py     |   10 +-
 gnome-sudoku/src/lib/game_selector.py        |    2 +-
 gnome-sudoku/src/lib/pausable.py             |   22 +-
 gnome-sudoku/src/lib/simple_debug.py         |   33 ++--
 gnome-sudoku/src/lib/sudoku_generator_gui.py |  101 +++++----
 gnome-sudoku/src/lib/sudoku_maker.py         |  287 ++++++++++++++------------
 gnome-sudoku/src/lib/sudoku_thumber.py       |   44 ++--
 9 files changed, 321 insertions(+), 269 deletions(-)

diff --git a/gnome-sudoku/src/lib/colors.py b/gnome-sudoku/src/lib/colors.py
index e1c0b4a..46a0b27 100644
--- a/gnome-sudoku/src/lib/colors.py
+++ b/gnome-sudoku/src/lib/colors.py
@@ -1,12 +1,15 @@
 # -*- coding: utf-8 -*-
-def rgb_to_hsv (r,g,b,maxval=255):
-    if type(r)==int: r = r/float(maxval)
-    if type(g)==int: g = g/float(maxval)
-    if type(b)==int: b = b/float(maxval)
+def rgb_to_hsv (r, g, b, maxval = 255):
+    if type(r) == int:
+        r = r/float(maxval)
+    if type(g) == int:
+        g = g/float(maxval)
+    if type(b) == int:
+        b = b/float(maxval)
     # Taken from
     # http://www.easyrgb.com/math.php?MATH=M20#text20
-    var_min = min(r,g,b)
-    var_max = max(r,g,b)
+    var_min = min(r, g, b)
+    var_max = max(r, g, b)
     delta = var_max - var_min
     v = var_max
     if delta == 0:
@@ -18,55 +21,65 @@ def rgb_to_hsv (r,g,b,maxval=255):
         delta_r = ( ( (var_max - r) / 6) + (delta/2) ) / delta
         delta_g = ( ( (var_max - g) / 6) + (delta/2) ) / delta
         delta_b = ( ( (var_max - b) / 6) + (delta/2) ) / delta
-        if (r==var_max):
+        if (r == var_max):
             h = delta_b - delta_g
-        elif g==var_max:
+        elif g == var_max:
             h = (1.0/3)+delta_r-delta_b
-        elif b==var_max:
+        elif b == var_max:
             h = (2.0/3)+delta_g-delta_r
-        if (h < 0): h+=1
-        if (h > 1): h -= 1
-    return h,s,v
+        if (h < 0):
+            h += 1
+        if (h > 1):
+            h -= 1
+    return h, s, v
 
-def hsv_to_rgb (h,s,v):
-    if s==0:
-        return v,v,v
+def hsv_to_rgb (h, s, v):
+    if s == 0:
+        return v, v, v
     else:
         h = h*6
-        if h == 6: h = 0
+        if h == 6:
+            h = 0
         i = int(h)
         c1 = v*(1 - s)
         c2 = v*(1 - s * ( h-i ) )
         c3 = v *(1 - s * (1 - (h - i) ) )
-        if i==0: r=v;g=c3;b=c1
-        elif i==1: r=c2; g=v; b=c1
-        elif i==2: r=c1; g=v; b=c3
-        elif i==3: r=c1; g=c2; b=v
-        elif i==4: r=c3; g=c1; b=v
-        else: r=v; g=c1; b=c2
-        return r,g,b
+        if i == 0:
+            r, g, b = v, c3, c1
+        elif i == 1:
+            r, g, b = c2, v, c1
+        elif i == 2:
+            r, g, b = c1, v, c3
+        elif i == 3:
+            r, g, b = c1, c2, v
+        elif i == 4:
+            r, g, b = c3, c1, v
+        else:
+            r, g, b = v, c1, c2
+        return r, g, b
 
-def rotate_hue (h,s,v, rotate_by=.25):
+def rotate_hue (h, s, v, rotate_by = .25):
     h += rotate_by
-    if h > 1.0: h = h-1.0
-    return h,s,v
+    if h > 1.0:
+        h = h-1.0
+    return h, s, v
 
-def rotate_hue_rgb (r,g,b, rotate_by=0.25, maxval=255):
-    h,s,v = rgb_to_hsv(r,g,b,maxval=maxval)
-    h,s,v = rotate_hue (h,s,v,rotate_by=rotate_by)
-    return hsv_to_rgb(h,s,v)
+def rotate_hue_rgb (r, g, b, rotate_by = 0.25, maxval = 255):
+    h, s, v = rgb_to_hsv(r, g, b, maxval = maxval)
+    h, s, v = rotate_hue (h, s, v, rotate_by = rotate_by)
+    return hsv_to_rgb(h, s, v)
 
 def color_hex_to_float (hstr):
     hstr = hstr.strip('#')
-    if len(hstr)==6:
+    if len(hstr) == 6:
         r = hstr[:2]
         g = hstr[2:4]
         b = hstr[4:]
         maxval = 255
-    elif len(hstr)==3:
-        r,g,b = hstr
+    elif len(hstr) == 3:
+        r, g, b = hstr
         maxval = 15
     else:
         raise ValueError('%s is not a 6 or 3 digit color string'%hstr)
-    r,g,b = int(r,16),int(g,16),int(b,16)
-    return r/float(maxval),g/float(maxval),b/float(maxval)
+    r, g, b = int(r, 16), int(g, 16), int(b, 16)
+    return r/float(maxval), g/float(maxval), b/float(maxval)
diff --git a/gnome-sudoku/src/lib/defaults.py.in b/gnome-sudoku/src/lib/defaults.py.in
index 62fc9c1..6842ba7 100644
--- a/gnome-sudoku/src/lib/defaults.py.in
+++ b/gnome-sudoku/src/lib/defaults.py.in
@@ -15,9 +15,9 @@ if not os.path.exists(os.path.join(root_dir, "Makefile.am")):
     APP_DATA_DIR = os.path.join('@prefix@', 'share') 
     IMAGE_DIR = os.path.join(APP_DATA_DIR, 'pixmaps', 'gnome-sudoku')
     LOCALEDIR = os.path.join(APP_DATA_DIR, 'locale')
-    UI_DIR = os.path.join(APP_DATA_DIR,'gnome-sudoku')
-    BASE_DIR = os.path.join(APP_DATA_DIR,'gnome-sudoku')
-    PUZZLE_DIR = os.path.join(APP_DATA_DIR,'gnome-sudoku','puzzles')    
+    UI_DIR = os.path.join(APP_DATA_DIR, 'gnome-sudoku')
+    BASE_DIR = os.path.join(APP_DATA_DIR, 'gnome-sudoku')
+    PUZZLE_DIR = os.path.join(APP_DATA_DIR, 'gnome-sudoku', 'puzzles')
 else:
     # Running in uninstalled mode
     sys.path.insert(0, os.path.abspath(root_dir))
@@ -41,7 +41,7 @@ DESCRIPTION = _('GNOME Sudoku is a simple sudoku generator and player. Sudoku is
 AUTHORS = ["Thomas M. Hinkle"]
 WEBSITE       = 'http://www.gnome.org/projects/gnome-games/'
 WEBSITE_LABEL = _('GNOME Games web site')
-AUTO_SAVE= True
+AUTO_SAVE = True
 MIN_NEW_PUZZLES = 90
 
 # The GPL license string will be translated, and the game name inserted.
diff --git a/gnome-sudoku/src/lib/dialog_swallower.py b/gnome-sudoku/src/lib/dialog_swallower.py
index 0009292..ed103ec 100644
--- a/gnome-sudoku/src/lib/dialog_swallower.py
+++ b/gnome-sudoku/src/lib/dialog_swallower.py
@@ -14,7 +14,7 @@ class SwappableArea (gtk.Notebook):
     running = False
 
 
-    def __init__ (self,main_area):
+    def __init__ (self, main_area):
         gtk.Notebook.__init__(self)
         self.set_show_tabs(False)
         self.set_show_border(False)
@@ -48,7 +48,8 @@ class SwappableArea (gtk.Notebook):
             gtk.main()
         except:
             print 'Error in dialog!'
-            import traceback; traceback.print_exc()
+            import traceback
+            traceback.print_exc()
             print 'forge on fearlessly...'
         self.set_current_page(self.main_page)
         self.running = None
@@ -63,9 +64,10 @@ if __name__ == '__main__':
     d = gtk.Dialog()
     d.vbox.add(gtk.Label('Foo, bar, baz'))
     d.vbox.show_all()
-    d.add_button(gtk.STOCK_CLOSE,gtk.RESPONSE_CLOSE)
+    d.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)
     w = gtk.Window()
-    b = gtk.Button('show d'); b.show()
+    b = gtk.Button('show d')
+    b.show()
     sa = SwappableArea(b)
     sa.show()
     w.add(sa)
diff --git a/gnome-sudoku/src/lib/game_selector.py b/gnome-sudoku/src/lib/game_selector.py
index a5ecb95..2b10742 100644
--- a/gnome-sudoku/src/lib/game_selector.py
+++ b/gnome-sudoku/src/lib/game_selector.py
@@ -114,7 +114,7 @@ class NewOrSavedGameSelector (gconf_wrapper.GConfWrapper):
             if puzzles:
                 puzzle, diff_val = puzzles[0]
             else:
-                print 'WARNING: Repeating puzzle for difficulty %s -- generate more puzzles to avoid this.'%cat
+                print 'WARNING: Repeating puzzle for difficulty %s -- generate more puzzles to avoid this.' % cat
                 puzzles = self.sudoku_maker.get_puzzles(1, [cat], new = False)
                 if puzzles:
                     puzzle, diff_val = puzzles[0]
diff --git a/gnome-sudoku/src/lib/pausable.py b/gnome-sudoku/src/lib/pausable.py
index 11e7448..c8853c7 100644
--- a/gnome-sudoku/src/lib/pausable.py
+++ b/gnome-sudoku/src/lib/pausable.py
@@ -5,22 +5,22 @@ class MethodWrapper:
 
     def __call__ (self, cls):
         for attr in dir(cls):
-            attrobj = getattr(cls,attr)
+            attrobj = getattr(cls, attr)
             if callable(attrobj) and attr.find('__')!=0:
-                setattr(cls,attr,self.wrap(attrobj))
+                setattr(cls, attr, self.wrap(attrobj))
 
-    def wrap (self,f):
+    def wrap (self, f):
         def _(*args, **kwargs):
-            self.wrapper(*args,**kwargs)
-            return f(*args,**kwargs)
+            self.wrapper(*args, **kwargs)
+            return f(*args, **kwargs)
         return _
 
     def wrapper (self, *args, **kwargs):
-        print args,kwargs
+        print args, kwargs
 
 class PausableWrapper (MethodWrapper):
 
-    def __init__ (self,sleep_for=1):
+    def __init__ (self, sleep_for=1):
         self.sleep_for = sleep_for
 
     def __call__ (self, cls):
@@ -38,7 +38,7 @@ class PausableWrapper (MethodWrapper):
         def _(cls, *args, **kwargs):
             cls.paused = False
             cls.terminated = False
-            return f(cls,*args,**kwargs)
+            return f(cls, *args, **kwargs)
         return _
 
     def pause (self, cls):
@@ -54,9 +54,11 @@ class PausableWrapper (MethodWrapper):
         cls.terminated = False
 
     def wrapper (self, cls, *args, **kwargs):
-        if cls.terminated: raise "Terminated!"
+        if cls.terminated:
+            raise "Terminated!"
         while cls.paused:
-            if cls.terminated: raise "Terminated!"
+            if cls.terminated:
+                raise "Terminated!"
             time.sleep(self.sleep_for)
 
 
diff --git a/gnome-sudoku/src/lib/simple_debug.py b/gnome-sudoku/src/lib/simple_debug.py
index 4885baf..d5573a6 100644
--- a/gnome-sudoku/src/lib/simple_debug.py
+++ b/gnome-sudoku/src/lib/simple_debug.py
@@ -5,40 +5,41 @@ import defaults
 parser = optparse.OptionParser(
     version=defaults.VERSION,
     option_list=[
-    optparse.make_option("-v",const=True,action="store_const",
-                         dest="debug",help="Print debug information",
+    optparse.make_option("-v", const=True, action="store_const",
+                         dest="debug", help="Print debug information",
                          default=False),
-    optparse.make_option("-p",const=True,action="store_const",
-                         dest="profile",help="Profile gnome-sudoku",
+    optparse.make_option("-p", const=True, action="store_const",
+                         dest="profile", help="Profile gnome-sudoku",
                          default=False),
-    optparse.make_option("-w",const=True,action="store_const",
-                         dest="walk",help="Step through program",
+    optparse.make_option("-w", const=True, action="store_const",
+                         dest="walk", help="Step through program",
                          default=False),
     ]
     )
 
-options,args = parser.parse_args()
+options, args = parser.parse_args()
 
 
 # Make a lovely wrapper
 if options.debug:
     def simple_debug (f):
-        def _ (self, *args,**kwargs):
-            print self.__class__,f.__name__,args,kwargs
-            return f(self,*args,**kwargs)
+        def _ (self, *args, **kwargs):
+            print self.__class__, f.__name__, args, kwargs
+            return f(self, *args, **kwargs)
         return _
 
 elif options.walk:
     ff = []
     def simple_debug (f):
-        def _ (self, *args,**kwargs):
-            if (self.__class__,f.__name__) not in ff:
-                print self.__class__,f.__name__,args,kwargs
+        def _ (self, *args, **kwargs):
+            if (self.__class__, f.__name__) not in ff:
+                print self.__class__, f.__name__, args, kwargs
                 if raw_input('Hit return to step forward (hit i to ignore this function): ')=='i':
-                    ff.append((self.__class__,f.__name__))
-            return f(self,*args,**kwargs)
+                    ff.append((self.__class__, f.__name__))
+            return f(self, *args, **kwargs)
         return _
 
 
 else:
-    def simple_debug (f): return f
+    def simple_debug (f):
+        return f
diff --git a/gnome-sudoku/src/lib/sudoku_generator_gui.py b/gnome-sudoku/src/lib/sudoku_generator_gui.py
index 5420fe7..6c72046 100644
--- a/gnome-sudoku/src/lib/sudoku_generator_gui.py
+++ b/gnome-sudoku/src/lib/sudoku_generator_gui.py
@@ -25,7 +25,7 @@ class GameGenerator (gconf_wrapper.GConfWrapper):
         self.sudoku_maker = self.ui.sudoku_maker
         # Don't work in background...
         self.ui.stop_worker_thread()
-        gconf_wrapper.GConfWrapper.__init__(self,gconf)
+        gconf_wrapper.GConfWrapper.__init__(self, gconf)
         self.builder = gtk.Builder()
         self.builder.add_from_file(self.ui_file)
         self.generate_for_target_widgets = []
@@ -34,43 +34,43 @@ class GameGenerator (gconf_wrapper.GConfWrapper):
                   'medium',
                   'hard',
                   'veryHard']:
-            widget_name = '%sCheckButton'%d
+            widget_name = '%sCheckButton' % d
             widget = self.builder.get_object(widget_name)
-            label_widget_name = '%sLabel'%d
-            setattr(self,label_widget_name,self.builder.get_object(label_widget_name))
-            setattr(self,widget_name,widget)
-            gconf_setting = 'generate_target_%s'%d
-            self.gconf_wrap_toggle(gconf_setting,widget)
+            label_widget_name = '%sLabel' % d
+            setattr(self, label_widget_name, self.builder.get_object(label_widget_name))
+            setattr(self, widget_name, widget)
+            gconf_setting = 'generate_target_%s' % d
+            self.gconf_wrap_toggle(gconf_setting, widget)
             self.generate_for_target_widgets.append(widget)
-            self.cat_to_label[d] = getattr(self,label_widget_name)
+            self.cat_to_label[d] = getattr(self, label_widget_name)
         self.cat_to_label['very hard'] = self.cat_to_label['veryHard']
         self.generateEndlesslyRadio = self.builder.get_object('generateEndlesslyRadio')
         self.generateForTargetRadio = self.builder.get_object('generateForTargetRadio')
-        self.gconf_wrap_toggle('generate_endlessly',self.generateEndlesslyRadio)
-        self.gconf_wrap_toggle('generate_for_target',self.generateForTargetRadio)
-        self.generateEndlesslyRadio.connect('toggled',self.generate_method_changed_cb)
+        self.gconf_wrap_toggle('generate_endlessly', self.generateEndlesslyRadio)
+        self.gconf_wrap_toggle('generate_for_target', self.generateForTargetRadio)
+        self.generateEndlesslyRadio.connect('toggled', self.generate_method_changed_cb)
         self.newSudokusSpinButton = self.builder.get_object('newSudokusSpinButton')
         self.gconf_wrap_adjustment('number_of_sudokus_to_generate',
                                    self.newSudokusSpinButton.get_adjustment()
                                    )
         self.generate_for_target_widgets.append(self.newSudokusSpinButton)
         self.generateButton = self.builder.get_object('generateButton')
-        self.generateButton.connect('clicked',self.generate_cb)
+        self.generateButton.connect('clicked', self.generate_cb)
         self.closeButton = self.builder.get_object('closeButton')
-        self.closeButton.connect('clicked',self.close_cb)
+        self.closeButton.connect('clicked', self.close_cb)
         self.pauseButton = self.builder.get_object('pauseButton')
-        self.pauseButton.connect('clicked',self.pause_cb)
+        self.pauseButton.connect('clicked', self.pause_cb)
         self.stopButton = self.builder.get_object('stopButton')
-        self.stopButton.connect('clicked',self.stop_cb)
+        self.stopButton.connect('clicked', self.stop_cb)
         self.pauseButton.set_sensitive(False)
         self.stopButton.set_sensitive(False)
         self.prog = self.builder.get_object('progressbar1')
         self.prog.set_text('0 %')
         self.working = False
-        self.easyCheckButton.connect('clicked',self.criteria_cb)
-        self.mediumCheckButton.connect('clicked',self.criteria_cb)
-        self.hardCheckButton.connect('clicked',self.criteria_cb)
-        self.veryHardCheckButton.connect('clicked',self.criteria_cb)
+        self.easyCheckButton.connect('clicked', self.criteria_cb)
+        self.mediumCheckButton.connect('clicked', self.criteria_cb)
+        self.hardCheckButton.connect('clicked', self.criteria_cb)
+        self.veryHardCheckButton.connect('clicked', self.criteria_cb)
         self.generate_method_changed_cb()
         self.dialog = self.builder.get_object('PuzzleGenerator')
         self.dialog.show_all()
@@ -111,8 +111,8 @@ class GameGenerator (gconf_wrapper.GConfWrapper):
         self.working = True
         self.paused = False
         self.prog.set_text(_('Working...'))
-        gobject.timeout_add(100,self.update_status)
-        self.worker = threading.Thread(target=lambda *args: self.sudoku_maker.work(limit=None,diff_min=self.get_diff_min(),diff_max=self.get_diff_max()))
+        gobject.timeout_add(100, self.update_status)
+        self.worker = threading.Thread(target=lambda *args: self.sudoku_maker.work(limit=None, diff_min=self.get_diff_min(), diff_max=self.get_diff_max()))
         self.worker.start()
 
     def pause_cb (self, widg):
@@ -146,12 +146,12 @@ class GameGenerator (gconf_wrapper.GConfWrapper):
     def update_available (self):
         """Setup basic status.
         """
-        for diff,lab in [('easy',self.easyLabel),
-                         ('medium',self.mediumLabel),
-                         ('hard',self.hardLabel),
-                         ('very hard',self.veryHardLabel)]:
+        for diff, lab in [('easy', self.easyLabel),
+                         ('medium', self.mediumLabel),
+                         ('hard', self.hardLabel),
+                         ('very hard', self.veryHardLabel)]:
             num = self.sudoku_maker.n_puzzles(diff)
-            lab.set_text(ngettext("%(n)s puzzle","%(n)s puzzles",num)%{'n':num})
+            lab.set_text(ngettext("%(n)s puzzle", "%(n)s puzzles", num) % {'n':num})
 
     def generated (self):
         return self.sudoku_maker.n_puzzles() - self.initally_generated
@@ -169,11 +169,13 @@ class GameGenerator (gconf_wrapper.GConfWrapper):
             print 'Done!'
             self.stop_cb()
             return False
-        if self.paused: self.prog.set_text(_('Paused'))
+        if self.paused:
+            self.prog.set_text(_('Paused'))
         elif self.generateEndlesslyRadio.get_active():
             self.prog.pulse()
-        if not self.working: return False
-        if hasattr(self.sudoku_maker,'new_generator') and self.sudoku_maker.new_generator.terminated:
+        if not self.working:
+            return False
+        if hasattr(self.sudoku_maker, 'new_generator') and self.sudoku_maker.new_generator.terminated:
             self.prog.set_text(_('Stopped'))
             self.stopButton.set_sensitive(False)
             self.pauseButton.set_sensitive(False)
@@ -191,7 +193,7 @@ class GameGenerator (gconf_wrapper.GConfWrapper):
             try:
                 txt = ngettext('Generated %(n)s out of %(total)s puzzle',
                                'Generated %(n)s out of %(total)s puzzles',
-                               tot)%{'n':self.generated(),'total':tot}
+                               tot) % {'n':self.generated(), 'total':tot}
             except TypeError:
                 # Allow for fuzzy translation badness caused by a
                 # previous version having this done the wrong way
@@ -201,26 +203,37 @@ class GameGenerator (gconf_wrapper.GConfWrapper):
                 try:
                     txt = ngettext('Generated %(n)s out of %(total)s puzzle',
                                    'Generated %(n)s out of %(total)s puzzles',
-                                   tot)%(self.generated(),tot)
+                                   tot) % (self.generated(), tot)
                 except:
                     # Fallback to English
-                    txt = 'Generated %s out of %s puzzles'%(self.generated(),tot)
+                    txt = 'Generated %s out of %s puzzles' % (self.generated(), tot)
         else:
             self.prog.pulse()
-            txt = ngettext('Generated %(n)s puzzle','Generated %(n)s puzzles',self.generated())%{'n':self.generated()}
-        if self.paused: txt = txt + ' (' + _('Paused') + ')'
+            txt = ngettext('Generated %(n)s puzzle', 'Generated %(n)s puzzles', self.generated()) % {'n':self.generated()}
+        if self.paused:
+            txt = txt + ' (' + _('Paused') + ')'
         self.prog.set_text(txt)
 
     def get_diff_min (self):
-        if self.generateEndlesslyRadio.get_active(): return None
-        if self.easyCheckButton.get_active(): return None
-        if self.mediumCheckButton.get_active(): return sudoku.DifficultyRating.medium_range[0]
-        if self.hardCheckButton.get_active(): return sudoku.DifficultyRating.hard_range[0]
-        if self.veryHardCheckButton.get_active(): return sudoku.DifficultyRating.very_hard_range[0]
+        if self.generateEndlesslyRadio.get_active():
+            return None
+        if self.easyCheckButton.get_active():
+            return None
+        if self.mediumCheckButton.get_active():
+            return sudoku.DifficultyRating.medium_range[0]
+        if self.hardCheckButton.get_active():
+            return sudoku.DifficultyRating.hard_range[0]
+        if self.veryHardCheckButton.get_active():
+            return sudoku.DifficultyRating.very_hard_range[0]
 
     def get_diff_max (self):
-        if self.generateEndlesslyRadio.get_active(): return None
-        if self.veryHardCheckButton.get_active(): return None
-        if self.hardCheckButton.get_active(): return sudoku.DifficultyRating.hard_range[1]
-        if self.mediumCheckButton.get_active(): return sudoku.DifficultyRating.medium_range[1]
-        if self.easyCheckButton.get_active(): return sudoku.DifficultyRating.easy_range[1]
+        if self.generateEndlesslyRadio.get_active():
+            return None
+        if self.veryHardCheckButton.get_active():
+            return None
+        if self.hardCheckButton.get_active():
+            return sudoku.DifficultyRating.hard_range[1]
+        if self.mediumCheckButton.get_active():
+            return sudoku.DifficultyRating.medium_range[1]
+        if self.easyCheckButton.get_active():
+            return sudoku.DifficultyRating.easy_range[1]
diff --git a/gnome-sudoku/src/lib/sudoku_maker.py b/gnome-sudoku/src/lib/sudoku_maker.py
index 52fafe4..167b436 100644
--- a/gnome-sudoku/src/lib/sudoku_maker.py
+++ b/gnome-sudoku/src/lib/sudoku_maker.py
@@ -12,14 +12,14 @@ class SudokuGenerator:
 
     """A class to generate new Sudoku Puzzles."""
 
-    def __init__ (self, start_grid=None, clues=2, group_size=9):
+    def __init__ (self, start_grid = None, clues = 2, group_size = 9):
         self.generated = []
         self.clues = clues
         self.all_coords = []
         self.group_size = group_size
         for x in range(self.group_size):
             for y in range(self.group_size):
-                self.all_coords.append((x,y))
+                self.all_coords.append((x, y))
         if start_grid:
             self.start_grid = sudoku.SudokuGrid(start_grid)
         else:
@@ -36,32 +36,32 @@ class SudokuGenerator:
             return sum(difficulties)/len(difficulties)
 
     def generate_grid (self):
-        self.start_grid = sudoku.SudokuSolver(verbose=False,group_size=self.group_size)
+        self.start_grid = sudoku.SudokuSolver(verbose = False, group_size = self.group_size)
         self.start_grid.solve()
         return self.start_grid
 
-    def reflect (self, x, y, axis=1):
+    def reflect (self, x, y, axis = 1):
         #downward sloping
         upper = self.group_size - 1
         # reflect once...
-        x,y = upper - y,upper-x
+        x, y = upper - y, upper-x
         # reflect twice...
         return y, x
 
     def make_symmetric_puzzle (self):
         nclues = self.clues/2
-        buckshot = set(random.sample(self.all_coords,nclues))
-        new_puzzle = sudoku.SudokuGrid(verbose=False,group_size=self.group_size)
+        buckshot = set(random.sample(self.all_coords, nclues))
+        new_puzzle = sudoku.SudokuGrid(verbose = False, group_size = self.group_size)
         reflections = set()
-        for x,y in buckshot:
-            reflection = self.reflect(x,y)
+        for x, y in buckshot:
+            reflection = self.reflect(x, y)
             if reflection:
                 nclues += 1
                 reflections.add(reflection)
         buckshot = buckshot | reflections # unite our sets
         remaining_coords = set(self.all_coords) - set(buckshot)
         while len(buckshot) < self.clues:
-            coord = random.sample(remaining_coords,1)[0]
+            coord = random.sample(remaining_coords, 1)[0]
             buckshot.add(coord)
             reflection = self.reflect(*coord)
             if reflection:
@@ -70,22 +70,22 @@ class SudokuGenerator:
         return self.make_puzzle_from_coords(buckshot)
 
     def make_puzzle (self):
-        buckshot = random.sample(self.all_coords,self.clues)
+        buckshot = random.sample(self.all_coords, self.clues)
         while buckshot in self.generated:
-            buckshot = random.sample(self.all_coords,self.clues)
+            buckshot = random.sample(self.all_coords, self.clues)
         return self.make_puzzle_from_coords(buckshot)
 
     def make_puzzle_from_coords (self, buckshot):
-        new_puzzle = sudoku.SudokuGrid(verbose=False,group_size=self.group_size)
+        new_puzzle = sudoku.SudokuGrid(verbose = False, group_size = self.group_size)
         self.generated.append(set(buckshot))
-        for x,y in buckshot:
-            new_puzzle.add(x,y,self.start_grid._get_(x,y))
+        for x, y in buckshot:
+            new_puzzle.add(x, y, self.start_grid._get_(x, y))
         self.puzzles.append(new_puzzle)
         return new_puzzle
 
     def make_puzzle_by_boxes (self,
-                              skew_by=0.0,
-                              max_squares=None,):
+                              skew_by = 0.0,
+                              max_squares = None):
         """Make a puzzle paying attention to evenness of clue
         distribution.
 
@@ -144,9 +144,9 @@ class SudokuGenerator:
 
     def assess_difficulty (self, sudoku_grid):
         try:
-            solver = sudoku.SudokuRater(sudoku_grid,verbose=False,group_size=self.group_size)
+            solver = sudoku.SudokuRater(sudoku_grid, verbose = False, group_size = self.group_size)
             d = solver.difficulty()
-            self.rated_puzzles.append((sudoku_grid,d))
+            self.rated_puzzles.append((sudoku_grid, d))
             return d
         except:
             print 'Impossible!'
@@ -162,18 +162,18 @@ class SudokuGenerator:
         """If puzzle is unique, return its difficulty.
 
         Otherwise, return None."""
-        solver = sudoku.SudokuRater(sudoku_grid,verbose=False,group_size=self.group_size)
+        solver = sudoku.SudokuRater(sudoku_grid, verbose = False, group_size = self.group_size)
         if solver.has_unique_solution():
             return solver.difficulty()
         else:
             return None
 
     def generate_puzzle_for_difficulty (self,
-                                        lower_target=0.3,
-                                        upper_target=0.5,
+                                        lower_target = 0.3,
+                                        upper_target = 0.5,
                                         max_tries = 100,
-                                        by_box=False,
-                                        by_box_kwargs={}):
+                                        by_box = False,
+                                        by_box_kwargs = {}):
         for i in range(max_tries):
             if by_box:
                 puz = self.make_puzzle_by_boxes(**by_box_kwargs)
@@ -183,10 +183,11 @@ class SudokuGenerator:
             if (d and (not lower_target or d.value > lower_target) and\
                (not upper_target or
                 d.value < upper_target)):
-                return puz,d
-        else: return None,None
+                return puz, d
+        else:
+            return None, None
 
-    def make_unique_puzzle (self, symmetrical=True, strict_number_of_clues=False):
+    def make_unique_puzzle (self, symmetrical = True, strict_number_of_clues = False):
         if symmetrical:
             puz = self.make_symmetric_puzzle()
         else:
@@ -197,43 +198,47 @@ class SudokuGenerator:
         else:
             clues = 2
         while 1:
-            solver = sudoku.SudokuRater(puz.grid,verbose=False,group_size=self.group_size)
+            solver = sudoku.SudokuRater(puz.grid, verbose = False, group_size = self.group_size)
             if solver.has_unique_solution():
                 diff = solver.difficulty()
                 #raw_input('Unique puzzle!')
                 break
             # Otherwise...
             crumb = solver.breadcrumbs[-1]
-            fill_in = [(crumb.x,crumb.y)]
-            reflection = self.reflect(crumb.x,crumb.y)
-            if reflection: fill_in.append(reflection)
-            for x,y in fill_in:
-                solver.virgin._set_(x,y,self.start_grid._get_(x,y))
-            puz = sudoku.SudokuGrid(solver.virgin.grid, verbose=False)
+            fill_in = [(crumb.x, crumb.y)]
+            reflection = self.reflect(crumb.x, crumb.y)
+            if reflection:
+                fill_in.append(reflection)
+            for x, y in fill_in:
+                solver.virgin._set_(x, y, self.start_grid._get_(x, y))
+            puz = sudoku.SudokuGrid(solver.virgin.grid, verbose = False)
             #print 'Not unique, adding ',fill_in
             clues += len(fill_in)
-            if strict_number_of_clues==True and clues > self.clues: return None
+            if strict_number_of_clues  == True and clues > self.clues:
+                return None
             #print clues, "clues..."
             #raw_input('Continue: ')
         # make sure we have the proper number of clues
         if strict_number_of_clues:
-            changed=False
+            changed = False
             while clues < self.clues:
-                x,y=random.randint(0,8),random.randint(0,8)
-                while puz._get_(x,y): x,y=random.randint(0,8),random.randint(0,8)
-                puz._set_(x,y,self.start_grid._get_(x,y))
+                x, y = random.randint(0, 8), random.randint(0, 8)
+                while puz._get_(x, y):
+                    x, y = random.randint(0, 8), random.randint(0, 8)
+                puz._set_(x, y, self.start_grid._get_(x, y))
                 clues += 1
-                reflection = self.reflect(x,y)
+                reflection = self.reflect(x, y)
                 if reflection:
-                    puz._set_(x,y,self.start_grid._get_(x,y))
+                    puz._set_(x, y, self.start_grid._get_(x, y))
                     clues += 1
-                changed=True
-            if changed: diff = sudoku.SudokuRater(puz.grid,
-                                                  verbose=False,
-                                                  group_size=self.group_size).difficulty()
-        return puz,diff
-
-    def make_unique_puzzles (self, n=10, ugargs={}):
+                changed = True
+            if changed:
+                diff = sudoku.SudokuRater(puz.grid,
+                                                  verbose = False,
+                                                  group_size = self.group_size).difficulty()
+        return puz, diff
+
+    def make_unique_puzzles (self, n = 10, ugargs = {}):
         ug = self.unique_generator(**ugargs)
         ret = []
         for i in range(n):
@@ -243,20 +248,21 @@ class SudokuGenerator:
         return ret
 
     def unique_generator (self,
-                          symmetrical=True,
-                          strict_number_of_clues=False,
-                          by_box=False,
-                          by_box_kwargs={}):
+                          symmetrical = True,
+                          strict_number_of_clues = False,
+                          by_box = False,
+                          by_box_kwargs = {}):
         while 1:
             result = self.make_unique_puzzle(
-                symmetrical=symmetrical,
-                strict_number_of_clues=strict_number_of_clues)
-            if result: yield result
-
-    def generate_puzzles (self, n=10,
-                          symmetrical=True,
-                          by_box=False,
-                          by_box_kwargs={}):
+                symmetrical = symmetrical,
+                strict_number_of_clues = strict_number_of_clues)
+            if result:
+                yield result
+
+    def generate_puzzles (self, n = 10,
+                          symmetrical = True,
+                          by_box = False,
+                          by_box_kwargs = {}):
         ret = []
         for i in range(n):
             #print 'Generating puzzle ',i
@@ -268,23 +274,23 @@ class SudokuGenerator:
                 puz = self.make_puzzle()
             #print 'Assessing puzzle ',puz
             try:
-                d=self.assess_difficulty(puz.grid)
+                d = self.assess_difficulty(puz.grid)
             except:
                 raise
             if d:
-                ret.append((puz,d))
-        ret.sort(lambda a,b: a[1].value>b[1].value and 1 or a[1].value<b[1].value and -1 or 0)
+                ret.append((puz, d))
+        ret.sort(lambda a, b: a[1].value>b[1].value and 1 or a[1].value<b[1].value and -1 or 0)
         return ret
 
 
 class InterruptibleSudokuGenerator (SudokuGenerator):
-    def __init__ (self,*args,**kwargs):
+    def __init__ (self, *args, **kwargs):
         self.paused = False
         self.terminated = False
-        SudokuGenerator.__init__(self,*args,**kwargs)
-    def work (self,*args,**kwargs):
+        SudokuGenerator.__init__(self, *args, **kwargs)
+    def work (self, *args, **kwargs):
         self.unterminate()
-        SudokuGenerator(self,*args,**kwargs)
+        SudokuGenerator(self, *args, **kwargs)
 
 pausable.make_pausable(InterruptibleSudokuGenerator)
 
@@ -294,9 +300,9 @@ class SudokuMaker:
     """A class to create unique, symmetrical sudoku puzzles."""
 
     def __init__ (self,
-                  generator_args={'clues':27,
+                  generator_args = {'clues':27,
                                   'group_size':9},
-                  puzzle_maker_args={'symmetrical':True},
+                  puzzle_maker_args = {'symmetrical':True},
                   batch_size = 5,
                   pickle_to = os.path.join(defaults.DATA_DIR, 'puzzles')):
         self.pickle_to = pickle_to
@@ -308,7 +314,7 @@ class SudokuMaker:
         self.load()
         self.all_puzzles = {}
         self.played = self.get_pregenerated('finished')
-        self.n_available_sudokus = {'easy':None,'medium':None,'hard':None,'very hard':None}
+        self.n_available_sudokus = {'easy':None, 'medium':None, 'hard':None, 'very hard':None}
 
     def load (self):
         try:
@@ -318,7 +324,7 @@ class SudokuMaker:
                 return
         for cat in sudoku.DifficultyRating.categories:
             source = os.path.join(os.path.join(defaults.PUZZLE_DIR), cat.replace(' ', '_'))
-            target = os.path.join(self.pickle_to, cat.replace(' ','_'))
+            target = os.path.join(self.pickle_to, cat.replace(' ', '_'))
             if not os.path.exists(target):
                 try:
                     shutil.copy(source, target)
@@ -327,7 +333,7 @@ class SudokuMaker:
                     print 'Attempted to copy from %s to %s' % (source, target)
 
     def get_pregenerated (self, difficulty):
-        fname = os.path.join(self.pickle_to, difficulty.replace(' ','_'))
+        fname = os.path.join(self.pickle_to, difficulty.replace(' ', '_'))
         try:
             lines = file(fname).readlines()
         except IOError, e:
@@ -337,7 +343,7 @@ class SudokuMaker:
         else:
             return [line.strip() for line in lines]
 
-    def get_new_puzzle (self, difficulty, new=True):
+    def get_new_puzzle (self, difficulty, new = True):
         """Return puzzle with difficulty near difficulty.
 
         If new is True, we return only unplayed puzzles.
@@ -345,36 +351,39 @@ class SudokuMaker:
         """
         val_cat = sudoku.get_difficulty_category(difficulty)
         if not val_cat:
-            print 'WARNING, no val cat for difficulty:',difficulty
-            if val_cat > 1: val_cat = 'very hard'
-            else: val_cat = 'easy'
+            print 'WARNING, no val cat for difficulty:', difficulty
+            if val_cat > 1:
+                val_cat = 'very hard'
+            else:
+                val_cat = 'easy'
         puzzles = []
 
         lines = self.get_pregenerated(val_cat)
-        closest = 10000000000000,None
+        closest = 10000000000000, None
         for l in lines:
             if len(l) == 0:
-                print 'Warning: file %s contains an empty line'%fname
+                print 'Warning: file %s contains an empty line' % fname
                 continue
             if not l.find('\t')>=0:
-                print 'Warning: line "%s" of file %s has no tab character.'%(l,fname)
+                print 'Warning: line "%s" of file %s has no tab character.' % (l, fname)
+                continue
+            puzzle, diff = l.split('\t')
+            if new and (puzzle in self.played):
                 continue
-            puzzle,diff = l.split('\t')
-            if new and (puzzle in self.played): continue
             if not sudoku.is_valid_puzzle(puzzle):
-                print 'WARNING: invalid puzzle %s in file %s'%(puzzle,fname)
+                print 'WARNING: invalid puzzle %s in file %s' % (puzzle, fname)
                 continue
             diff = float(diff)
             closeness_to_target = abs(diff - difficulty)
             if closest[0] > closeness_to_target:
-                closest = diff,puzzle
-        return closest[1],sudoku.SudokuRater(
+                closest = diff, puzzle
+        return closest[1], sudoku.SudokuRater(
             sudoku.sudoku_grid_from_string(closest[1]).grid
             ).difficulty()
 
-    def n_puzzles (self, difficulty_category=None, new=True):
+    def n_puzzles (self, difficulty_category = None, new = True):
         if not difficulty_category:
-            return sum([self.n_puzzles(c,new=new) for c in sudoku.DifficultyRating.categories])
+            return sum([self.n_puzzles(c, new = new) for c in sudoku.DifficultyRating.categories])
         else:
             if self.n_available_sudokus[difficulty_category]:
                 return self.n_available_sudokus[difficulty_category]
@@ -382,17 +391,17 @@ class SudokuMaker:
             count = 0
             for line in lines:
                 if (not new) or line.split('\t')[0] not in self.played:
-                    count+=1
+                    count += 1
             self.n_available_sudokus[difficulty_category] = count
             return self.n_available_sudokus[difficulty_category]
 
-    def list_puzzles (self, difficulty_category=None, new=True):
+    def list_puzzles (self, difficulty_category = None, new = True):
         """Return a list of all puzzles we have generated.
         """
         puzzle_list = []
         if not difficulty_category:
             for c in sudoku.DifficultyRating.categories:
-                puzzle_list.extend(self.list_puzzles(c,new=new))
+                puzzle_list.extend(self.list_puzzles(c, new = new))
         else:
             lines = self.get_pregenerated(difficulty_category)
             for l in lines:
@@ -401,25 +410,29 @@ class SudokuMaker:
                     puzzle_list.append(puzzle)
         return puzzle_list
 
-    def get_puzzles_random (self, n, levels, new=True, exclude=[]):
+    def get_puzzles_random (self, n, levels, new = True, exclude = []):
         """Return a list of n puzzles and difficulty values (as floats).
 
         The puzzles will correspond as closely as possible to levels.
         If new, we only return puzzles not yet played.
         """
-        if not n: return []
+        if not n:
+            return []
         assert(levels)
         puzzles = []
         # Open files to read puzzles...
-        puzzles_by_level = {}; files = {}
+        puzzles_by_level = {}
+        files = {}
         for l in levels:
             puzzles_by_level[l] = self.get_pregenerated(l)
             random.shuffle(puzzles_by_level[l])
-        i = 0; il = 0
+        i = 0
+        il = 0
         n_per_level = {}
         finished = []
         while i < n and len(finished) < len(levels):
-            if il >= len(levels): il = 0
+            if il >= len(levels):
+                il = 0
             lev = levels[il]
             # skip any levels that we've exhausted
             if lev in finished:
@@ -431,31 +444,33 @@ class SudokuMaker:
                 finished.append(lev)
             else:
                 try:
-                    p,d = line.split('\t')
+                    p, d = line.split('\t')
                 except ValueError:
-                    print 'WARNING: invalid line %s in file %s'%(line,files[lev])
+                    print 'WARNING: invalid line %s in file %s' % (line, files[lev])
                     continue
                 if sudoku.is_valid_puzzle(p):
                     if (p not in exclude) and (not new or p not in self.played):
-                        puzzles.append((p,float(d)))
+                        puzzles.append((p, float(d)))
                         i += 1
                 else:
-                    print 'WARNING: invalid puzzle %s in file %s'%(p,files[lev])
+                    print 'WARNING: invalid puzzle %s in file %s' % (p, files[lev])
             il += 1
         if i < n:
-            print 'WARNING: Not able to provide %s puzzles in levels %s'%(n,levels)
+            print 'WARNING: Not able to provide %s puzzles in levels %s' % (n, levels)
             print 'WARNING: Generate more puzzles if you really need this many puzzles!'
         return puzzles
 
-    def get_puzzles (self, n, levels, new=True, randomize=True,
-                     exclude=[]):
+    def get_puzzles (self, n, levels, new = True, randomize = True,
+                     exclude = []):
         """Return a list of n puzzles and difficulty values (as floats).
 
         The puzzles will correspond as closely as possible to levels.
         If new, we only return puzzles not yet played.
         """
-        if randomize: return self.get_puzzles_random(n,levels,new=new,exclude=exclude)
-        if not n: return []
+        if randomize:
+            return self.get_puzzles_random(n, levels, new = new, exclude = exclude)
+        if not n:
+            return []
         assert(levels)
         puzzles = []
 
@@ -464,11 +479,13 @@ class SudokuMaker:
         for l in levels:
             files[l] = self.get_pregenerated(l)
 
-        i = 0; il = 0
+        i = 0
+        il = 0
         n_per_level = {}
         finished = []
         while i < n and len(finished) < len(levels):
-            if il >= len(levels): il = 0
+            if il >= len(levels):
+                il = 0
             lev = levels[il]
             # skip any levels that we've exhausted
             if lev in finished:
@@ -481,19 +498,19 @@ class SudokuMaker:
                 line = files[lev][0]
                 files[lev] = files[lev][1:]
                 try:
-                    p,d = line.split('\t')
+                    p, d = line.split('\t')
                 except ValueError:
-                    print 'WARNING: invalid line %s in file %s'%(line,files[lev])
+                    print 'WARNING: invalid line %s in file %s' % (line, files[lev])
                     continue
                 if sudoku.is_valid_puzzle(p):
                     if (p not in exclude) and (not new or p not in self.played):
-                        puzzles.append((p,float(d)))
+                        puzzles.append((p, float(d)))
                         i += 1
                 else:
-                    print 'WARNING: invalid puzzle %s in file %s'%(p,files[lev])
+                    print 'WARNING: invalid puzzle %s in file %s' % (p, files[lev])
             il += 1
         if i < n:
-            print 'WARNING: Not able to provide %s puzzles in levels %s'%(n,levels)
+            print 'WARNING: Not able to provide %s puzzles in levels %s' % (n, levels)
             print 'WARNING: Generate more puzzles if you really need this many puzzles!'
 
         return puzzles
@@ -502,7 +519,7 @@ class SudokuMaker:
 
     # Methods for creating new puzzles
 
-    def make_batch (self, diff_min=None, diff_max=None):
+    def make_batch (self, diff_min = None, diff_max = None):
         self.new_generator = InterruptibleSudokuGenerator(**self.generator_args)
         key = self.new_generator.start_grid.to_string()
         #while
@@ -514,7 +531,7 @@ class SudokuMaker:
         open_files = {}
         for n in range(self.batch_size):
             #print 'start next item...',n
-            puz,diff = ug.next()
+            puz, diff = ug.next()
             #print "GENERATED ",puz,diff
             if ((not diff_min or diff.value >= diff_min)
                 and
@@ -525,13 +542,13 @@ class SudokuMaker:
                 # self.all_puzzles[puzstring] = diff
                 # self.names[puzstring] = self.get_puzzle_name(_('Puzzle'))
                 outpath = os.path.join(self.pickle_to,
-                                       diff.value_category().replace(' ','_'))
+                                       diff.value_category().replace(' ', '_'))
                 # Read through the existing file and make sure we're
                 # not a duplicate puzzle
                 existing = self.get_pregenerated(diff.value_category())
                 if not puzstring in existing:
                     try:
-                        outfi = file(outpath,'a')
+                        outfi = file(outpath, 'a')
                         outfi.write(puzstring+'\t'+str(diff.value)+'\n')
                         outfi.close()
                         self.n_available_sudokus[diff.value_category()]+=1
@@ -539,26 +556,31 @@ class SudokuMaker:
                         print 'Error appending pregenerated puzzle: %s' % e.strerror
 
     def pause (self, *args):
-        if hasattr(self,'new_generator'): self.new_generator.pause()
+        if hasattr(self, 'new_generator'):
+            self.new_generator.pause()
         self.paused = True
 
     def resume (self, *args):
-        if hasattr(self,'new_generator'): self.new_generator.resume()
+        if hasattr(self, 'new_generator'):
+            self.new_generator.resume()
         self.paused = False
 
     def stop (self, *args):
-        if hasattr(self,'new_generator'): self.new_generator.terminate()
+        if hasattr(self, 'new_generator'):
+            self.new_generator.terminate()
         self.terminated = True
 
     def hesitate (self):
         while self.paused:
-            if self.terminated: break
+            if self.terminated:
+                break
             time.sleep(1)
 
-    def work (self, limit = None, diff_min=None, diff_max=None):
+    def work (self, limit = None, diff_min = None, diff_max = None):
         """Intended to be called as a worker thread, make puzzles!"""
         self.terminated = False
-        if hasattr(self,'new_generator'): self.new_generator.termintaed = False
+        if hasattr(self, 'new_generator'):
+            self.new_generator.termintaed = False
         self.paused = False
         generated = 0
         while not limit or generated < limit:
@@ -567,8 +589,8 @@ class SudokuMaker:
             if self.paused:
                 self.hesitate()
             try:
-                self.make_batch(diff_min=diff_min,
-                                diff_max=diff_max)
+                self.make_batch(diff_min = diff_min,
+                                diff_max = diff_max)
             except:
                 raise
             else:
@@ -579,7 +601,6 @@ class SudokuMaker:
 
 
 if __name__ == '__main__':
-    import time
     #puzzles=sg.generate_puzzles(30)
     #
     #print sg.make_symmetric_puzzle()
@@ -592,7 +613,7 @@ if __name__ == '__main__':
     sm = SudokuMaker()
     #st = SudokuTracker(sm)
 elif False:
-    usage="""Commands are:
+    usage = """Commands are:
     run: Run sudoku-maker
     len: \# of puzzles generated
     pause: pause
@@ -603,25 +624,25 @@ elif False:
     print usage
     while 1:
         inp = raw_input('choose:')
-        if inp=='run':
-            t=threading.Thread(target=sm.make_batch)
+        if inp == 'run':
+            t = threading.Thread(target = sm.make_batch)
             t.start()
-        elif inp=='show':
+        elif inp == 'show':
             print sm.puzzles
-        elif inp=='len':
+        elif inp == 'len':
             print len(sm.puzzles)
-        elif inp=='pause':
+        elif inp == 'pause':
             sm.new_generator.pause()
-        elif inp=='resume':
+        elif inp == 'resume':
             sm.new_generator.resume()
-        elif inp=='terminate':
+        elif inp == 'terminate':
             sm.new_generator.terminate()
-        elif inp=='quit':
+        elif inp == 'quit':
             sm.new_generator.terminate()
             break
         else:
             try:
-                getattr(sm,inp)()
+                getattr(sm, inp)()
             except:
                 print usage
         
diff --git a/gnome-sudoku/src/lib/sudoku_thumber.py b/gnome-sudoku/src/lib/sudoku_thumber.py
index 46c92d3..8b493d6 100644
--- a/gnome-sudoku/src/lib/sudoku_thumber.py
+++ b/gnome-sudoku/src/lib/sudoku_thumber.py
@@ -4,10 +4,10 @@ import gtk, cairo
 SUDOKU_SIZE = 9
 N_BOXES = 3
 
-PENCIL_GREY = (0.3,0.3,0.3)
-BACKGROUND_COLOR = (1.,1.,1.)
+PENCIL_GREY = (0.3, 0.3, 0.3)
+BACKGROUND_COLOR = (1., 1., 1.)
 
-def draw_sudoku (cr, sudoku, played, size, offset_x=0, offset_y=0, border_color=(1.0,1.0,1.0), line_color=(0.0,0.0,0.0)):
+def draw_sudoku (cr, sudoku, played, size, offset_x = 0, offset_y = 0, border_color = (1.0, 1.0, 1.0), line_color = (0.0, 0.0, 0.0)):
 
     THIN = size / 100.
     THICK = THIN * 2.
@@ -30,7 +30,7 @@ def draw_sudoku (cr, sudoku, played, size, offset_x=0, offset_y=0, border_color=
     outer["bottom"] = offset_y + size
 
     # Entire background
-    cr.set_source_rgb(1.,1.,1.)
+    cr.set_source_rgb(1., 1., 1.)
     cr.rectangle(outer["left"],
                  outer["top"],
                  size,
@@ -57,8 +57,8 @@ def draw_sudoku (cr, sudoku, played, size, offset_x=0, offset_y=0, border_color=
     cr.set_line_width(THICK)
     cr.rectangle(outer["left"]   + BORDER +   THICK/2.0,
                  outer["top"]    + BORDER +   THICK/2.0,
-                 size            - BORDER*2 - THICK,
-                 size            - BORDER*2 - THICK)
+                 size            - BORDER * 2 - THICK,
+                 size            - BORDER * 2 - THICK)
 
     cr.set_source_rgb(*line_color)
     cr.stroke()
@@ -73,7 +73,7 @@ def draw_sudoku (cr, sudoku, played, size, offset_x=0, offset_y=0, border_color=
     position = BORDER + THICK
     pos[0] = position + SQUARE_SIZE/2.
     last_line = 0
-    for n in range(1,SUDOKU_SIZE):
+    for n in range(1, SUDOKU_SIZE):
         if n % N_BOXES == 0:
             cr.set_line_width(THICK)
             position += SQUARE_SIZE + last_line/2.0 + THICK/2.0
@@ -83,23 +83,23 @@ def draw_sudoku (cr, sudoku, played, size, offset_x=0, offset_y=0, border_color=
             position += SQUARE_SIZE + last_line/2.0 + THIN/2.0
             last_line = THIN
         pos[n] = position + last_line/2. + SQUARE_SIZE/2.0
-        cr.move_to(BORDER+THICK/2.+offset_x, position+offset_y)
-        cr.line_to(size-BORDER-THICK/2.+offset_x, position+offset_y)
-        cr.move_to(position+offset_x, BORDER+THICK/2.+offset_y)
-        cr.line_to(position+offset_x, size-BORDER-THICK/2.+offset_y)
+        cr.move_to(BORDER + THICK/2. + offset_x, position + offset_y)
+        cr.line_to(size - BORDER - THICK/2. + offset_x, position + offset_y)
+        cr.move_to(position + offset_x, BORDER + THICK/2. + offset_y)
+        cr.line_to(position + offset_x, size - BORDER - THICK/2. + offset_y)
         cr.stroke()
     cr.set_font_size(FONT_SIZE)
     for x in range(SUDOKU_SIZE):
         for y in range(SUDOKU_SIZE):
-            cr.move_to(pos[x]+offset_x,pos[y]+offset_y)
+            cr.move_to(pos[x] + offset_x, pos[y] + offset_y)
             letter = None
             if sudoku and sudoku[y][x]:
                 letter = str(sudoku[y][x])
                 cr.select_font_face("",
                          cairo.FONT_SLANT_NORMAL,
                          cairo.FONT_WEIGHT_BOLD)
-                cr.set_source_rgb(0,0,0)
-                xbearing,ybearing,width,height,xadvance,yadvance = (
+                cr.set_source_rgb(0, 0, 0)
+                xbearing, ybearing, width, height, xadvance, yadvance = (
                     cr.text_extents(letter)
                     )
 
@@ -109,15 +109,15 @@ def draw_sudoku (cr, sudoku, played, size, offset_x=0, offset_y=0, border_color=
                                     cairo.FONT_WEIGHT_NORMAL)
                 cr.set_source_rgb(*PENCIL_GREY)
                 letter = str(played[y][x])
-                xbearing,ybearing,width,height,xadvance,yadvance = (
+                xbearing, ybearing, width, height, xadvance, yadvance = (
                     cr.text_extents(letter)
                     )
             if letter:
-                cr.move_to(pos[x]+offset_x-(xadvance/2.0),
-                           pos[y]+offset_y+(height/2.0))
+                cr.move_to(pos[x] + offset_x - (xadvance/2.0),
+                           pos[y] + offset_y + (height/2.0))
                 cr.show_text(letter)
 
-def make_pixbuf (sudoku, played, border_color, line_color=(0.4,0.4,0.4)):
+def make_pixbuf (sudoku, played, border_color, line_color = (0.4, 0.4, 0.4)):
     size = 120
     surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, size, size)
     cr = cairo.Context(surface)
@@ -128,13 +128,13 @@ def make_pixbuf (sudoku, played, border_color, line_color=(0.4,0.4,0.4)):
     return pixbuf
 
 if __name__ == "__main__":
-    sudoku = [[0, 0, 2, 3, 4, 5, 6, 0, 0]]*SUDOKU_SIZE
-    played = [[1,2,0,0,0,0,0,0,0,0]]+[[0,0,0,0,0,0,0,0,0,0]]*8
+    sudoku = [[0, 0, 2, 3, 4, 5, 6, 0, 0]] * SUDOKU_SIZE
+    played = [[1, 2, 0, 0, 0, 0, 0, 0, 0, 0]] + [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]] * 8
 
 
     size = 250
-    line_color=(0.0,0.0,0.0)
-    border_color=(1.0,0.0,0.0)
+    line_color = (0.0, 0.0, 0.0)
+    border_color = (1.0, 0.0, 0.0)
     surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 750, 750)
     cr = cairo.Context(surface)
     draw_sudoku(cr, sudoku, played,  size, 100, 250, border_color, line_color)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]