mostly None checkings fixed (== to is != to is not)

This commit is contained in:
unknown 2009-11-03 14:30:52 -05:00
parent 7667a39ded
commit a6b7292943
20 changed files with 101 additions and 103 deletions

View File

@ -316,22 +316,20 @@ class Config:
# we check the existence of "file" and try to recover if it doesn't exist # we check the existence of "file" and try to recover if it doesn't exist
self.default_config_path = self.get_default_config_path() self.default_config_path = self.get_default_config_path()
if file != None: # configuration file path has been passed if file is not None: # config file path passed in
file = os.path.expanduser(file) file = os.path.expanduser(file)
if not os.path.exists(file): if not os.path.exists(file):
print "Configuration file %s not found. Using defaults." % (file) print "Configuration file %s not found. Using defaults." % (file)
sys.stderr.write("Configuration file %s not found. Using defaults." % (file)) sys.stderr.write("Configuration file %s not found. Using defaults." % (file))
file = None file = None
if file == None: # configuration file path not passed or invalid if file is None: # configuration file path not passed or invalid
file = self.find_config() #Look for a config file in the normal places file = self.find_config() #Look for a config file in the normal places
if file == None: # no config file in the normal places if file is None: # no config file in the normal places
file = self.find_example_config() #Look for an example file to edit file = self.find_example_config() #Look for an example file to edit
if file != None:
pass
if file == None: # that didn't work either, just die if file is None: # that didn't work either, just die
print "No HUD_config_xml found after looking in current directory and "+self.default_config_path+"\nExiting" print "No HUD_config_xml found after looking in current directory and "+self.default_config_path+"\nExiting"
sys.stderr.write("No HUD_config_xml found after looking in current directory and "+self.default_config_path+"\nExiting") sys.stderr.write("No HUD_config_xml found after looking in current directory and "+self.default_config_path+"\nExiting")
print "press enter to continue" print "press enter to continue"
@ -520,7 +518,7 @@ class Config:
def get_layout_node(self, site_node, layout): def get_layout_node(self, site_node, layout):
for layout_node in site_node.getElementsByTagName("layout"): for layout_node in site_node.getElementsByTagName("layout"):
if layout_node.getAttribute("max") == None: if layout_node.getAttribute("max") is None:
return None return None
if int( layout_node.getAttribute("max") ) == int( layout ): if int( layout_node.getAttribute("max") ) == int( layout ):
return layout_node return layout_node
@ -536,7 +534,7 @@ class Config:
return location_node return location_node
def save(self, file = None): def save(self, file = None):
if file != None: if file is not None:
with open(file, 'w') as f: with open(file, 'w') as f:
self.doc.writexml(f) self.doc.writexml(f)
else: else:
@ -549,7 +547,7 @@ class Config:
site_node = self.get_site_node(site_name) site_node = self.get_site_node(site_name)
layout_node = self.get_layout_node(site_node, max) layout_node = self.get_layout_node(site_node, max)
# TODO: how do we support inserting new layouts? # TODO: how do we support inserting new layouts?
if layout_node == None: if layout_node is None:
return return
for i in range(1, max + 1): for i in range(1, max + 1):
location_node = self.get_location_node(layout_node, i) location_node = self.get_location_node(layout_node, i)
@ -560,7 +558,7 @@ class Config:
def edit_aux_layout(self, aux_name, max, width = None, height = None, locations = None): def edit_aux_layout(self, aux_name, max, width = None, height = None, locations = None):
aux_node = self.get_aux_node(aux_name) aux_node = self.get_aux_node(aux_name)
layout_node = self.get_layout_node(aux_node, max) layout_node = self.get_layout_node(aux_node, max)
if layout_node == None: if layout_node is None:
print "aux node not found" print "aux node not found"
return return
print "editing locations =", locations print "editing locations =", locations
@ -608,17 +606,17 @@ class Config:
db_pass = None, db_server = None, db_type = None): db_pass = None, db_server = None, db_type = None):
db_node = self.get_db_node(db_name) db_node = self.get_db_node(db_name)
if db_node != None: if db_node != None:
if db_ip != None: db_node.setAttribute("db_ip", db_ip) if db_ip is not None: db_node.setAttribute("db_ip", db_ip)
if db_user != None: db_node.setAttribute("db_user", db_user) if db_user is not None: db_node.setAttribute("db_user", db_user)
if db_pass != None: db_node.setAttribute("db_pass", db_pass) if db_pass is not None: db_node.setAttribute("db_pass", db_pass)
if db_server != None: db_node.setAttribute("db_server", db_server) if db_server is not None: db_node.setAttribute("db_server", db_server)
if db_type != None: db_node.setAttribute("db_type", db_type) if db_type is not None: db_node.setAttribute("db_type", db_type)
if self.supported_databases.has_key(db_name): if self.supported_databases.has_key(db_name):
if db_ip != None: self.supported_databases[db_name].dp_ip = db_ip if db_ip is not None: self.supported_databases[db_name].dp_ip = db_ip
if db_user != None: self.supported_databases[db_name].dp_user = db_user if db_user is not None: self.supported_databases[db_name].dp_user = db_user
if db_pass != None: self.supported_databases[db_name].dp_pass = db_pass if db_pass is not None: self.supported_databases[db_name].dp_pass = db_pass
if db_server != None: self.supported_databases[db_name].dp_server = db_server if db_server is not None: self.supported_databases[db_name].dp_server = db_server
if db_type != None: self.supported_databases[db_name].dp_type = db_type if db_type is not None: self.supported_databases[db_name].dp_type = db_type
return return
def getDefaultSite(self): def getDefaultSite(self):
@ -809,19 +807,19 @@ class Config:
font = None, font_size = None): font = None, font_size = None):
"""Sets the specified site parameters for the specified site.""" """Sets the specified site parameters for the specified site."""
site_node = self.get_site_node(site_name) site_node = self.get_site_node(site_name)
if db_node != None: if db_node is not None:
if converter != None: site_node.setAttribute("converter", converter) if converter is not None: site_node.setAttribute("converter", converter)
if decoder != None: site_node.setAttribute("decoder", decoder) if decoder is not None: site_node.setAttribute("decoder", decoder)
if hudbgcolor != None: site_node.setAttribute("hudbgcolor", hudbgcolor) if hudbgcolor is not None: site_node.setAttribute("hudbgcolor", hudbgcolor)
if hudfgcolor != None: site_node.setAttribute("hudfgcolor", hudfgcolor) if hudfgcolor is not None: site_node.setAttribute("hudfgcolor", hudfgcolor)
if hudopacity != None: site_node.setAttribute("hudopacity", hudopacity) if hudopacity is not None: site_node.setAttribute("hudopacity", hudopacity)
if screen_name != None: site_node.setAttribute("screen_name", screen_name) if screen_name is not None: site_node.setAttribute("screen_name", screen_name)
if site_path != None: site_node.setAttribute("site_path", site_path) if site_path is not None: site_node.setAttribute("site_path", site_path)
if table_finder != None: site_node.setAttribute("table_finder", table_finder) if table_finder is not None: site_node.setAttribute("table_finder", table_finder)
if HH_path != None: site_node.setAttribute("HH_path", HH_path) if HH_path is not None: site_node.setAttribute("HH_path", HH_path)
if enabled != None: site_node.setAttribute("enabled", enabled) if enabled is not None: site_node.setAttribute("enabled", enabled)
if font != None: site_node.setAttribute("font", font) if font is not None: site_node.setAttribute("font", font)
if font_size != None: site_node.setAttribute("font_size", font_size) if font_size is not None: site_node.setAttribute("font_size", font_size)
return return
def get_aux_windows(self): def get_aux_windows(self):

View File

@ -353,7 +353,7 @@ class Database:
# else: # else:
# cards += ranks[d['card' + str(i) + 'Value']] + d['card' +str(i) + 'Suit'] # cards += ranks[d['card' + str(i) + 'Value']] + d['card' +str(i) + 'Suit']
cv = "card%dvalue" % i cv = "card%dvalue" % i
if cv not in d or d[cv] == None: if cv not in d or d[cv] is None:
break break
elif d[cv] == 0: elif d[cv] == 0:
cards += "xx" cards += "xx"
@ -551,7 +551,7 @@ class Database:
def get_player_names(self, config, site_id=None, like_player_name="%"): def get_player_names(self, config, site_id=None, like_player_name="%"):
"""Fetch player names from players. Use site_id and like_player_name if provided""" """Fetch player names from players. Use site_id and like_player_name if provided"""
if site_id == None: if site_id is None:
site_id = -1 site_id = -1
c = self.get_cursor() c = self.get_cursor()
c.execute(self.sql.query['get_player_names'], (like_player_name, site_id, site_id)) c.execute(self.sql.query['get_player_names'], (like_player_name, site_id, site_id))
@ -1183,7 +1183,7 @@ class Database:
if p_id: if p_id:
self.hero_ids[site_id] = int(p_id) self.hero_ids[site_id] = int(p_id)
if start == None: if start is None:
start = self.hero_hudstart_def start = self.hero_hudstart_def
if self.hero_ids == {}: if self.hero_ids == {}:
where = "" where = ""

View File

@ -305,10 +305,10 @@ class Filters(threading.Thread):
print "self.limit[%s] set to %s" %(limit, self.limits[limit]) print "self.limit[%s] set to %s" %(limit, self.limits[limit])
if limit.isdigit() or (len(limit) > 2 and limit[-2:] == 'nl'): if limit.isdigit() or (len(limit) > 2 and limit[-2:] == 'nl'):
if self.limits[limit]: if self.limits[limit]:
if self.cbNoLimits != None: if self.cbNoLimits is not None:
self.cbNoLimits.set_active(False) self.cbNoLimits.set_active(False)
else: else:
if self.cbAllLimits != None: if self.cbAllLimits is not None:
self.cbAllLimits.set_active(False) self.cbAllLimits.set_active(False)
if not self.limits[limit]: if not self.limits[limit]:
if limit.isdigit(): if limit.isdigit():
@ -319,9 +319,9 @@ class Filters(threading.Thread):
if self.limits[limit]: if self.limits[limit]:
#for cb in self.cbLimits.values(): #for cb in self.cbLimits.values():
# cb.set_active(True) # cb.set_active(True)
if self.cbFL != None: if self.cbFL is not None:
self.cbFL.set_active(True) self.cbFL.set_active(True)
if self.cbNL != None: if self.cbNL is not None:
self.cbNL.set_active(True) self.cbNL.set_active(True)
elif limit == "none": elif limit == "none":
if self.limits[limit]: if self.limits[limit]:

View File

@ -184,11 +184,11 @@ class Fulltilt(HandHistoryConverter):
info['limitType'] = limits[mg['LIMIT']] info['limitType'] = limits[mg['LIMIT']]
info['sb'] = mg['SB'] info['sb'] = mg['SB']
info['bb'] = mg['BB'] info['bb'] = mg['BB']
if mg['GAME'] != None: if mg['GAME'] is not None:
(info['base'], info['category']) = games[mg['GAME']] (info['base'], info['category']) = games[mg['GAME']]
if mg['CURRENCY'] != None: if mg['CURRENCY'] is not None:
info['currency'] = currencies[mg['CURRENCY']] info['currency'] = currencies[mg['CURRENCY']]
if mg['TOURNO'] == None: info['type'] = "ring" if mg['TOURNO'] is None: info['type'] = "ring"
else: info['type'] = "tour" else: info['type'] = "tour"
# NB: SB, BB must be interpreted as blinds or bets depending on limit type. # NB: SB, BB must be interpreted as blinds or bets depending on limit type.
# if info['type'] == "tour": return None # importer is screwed on tournies, pass on those hands so we don't interrupt other autoimporting # if info['type'] == "tour": return None # importer is screwed on tournies, pass on those hands so we don't interrupt other autoimporting
@ -196,7 +196,7 @@ class Fulltilt(HandHistoryConverter):
def readHandInfo(self, hand): def readHandInfo(self, hand):
m = self.re_HandInfo.search(hand.handText) m = self.re_HandInfo.search(hand.handText)
if(m == None): if m is None:
logging.info("Didn't match re_HandInfo") logging.info("Didn't match re_HandInfo")
logging.info(hand.handText) logging.info(hand.handText)
return None return None
@ -212,7 +212,7 @@ class Fulltilt(HandHistoryConverter):
if m2: hand.maxseats = int(m2.group('MAX')) if m2: hand.maxseats = int(m2.group('MAX'))
hand.tourNo = m.group('TOURNO') hand.tourNo = m.group('TOURNO')
if m.group('PLAY') != None: if m.group('PLAY') is not None:
hand.gametype['currency'] = 'play' hand.gametype['currency'] = 'play'
# Done: if there's a way to figure these out, we should.. otherwise we have to stuff it with unknowns # Done: if there's a way to figure these out, we should.. otherwise we have to stuff it with unknowns
@ -240,9 +240,9 @@ class Fulltilt(HandHistoryConverter):
hand.isShootout = True hand.isShootout = True
if hand.buyin == None: if hand.buyin is None:
hand.buyin = "$0.00+$0.00" hand.buyin = "$0.00+$0.00"
if hand.level == None: if hand.level is None:
hand.level = "0" hand.level = "0"
# These work, but the info is already in the Hand class - should be used for tourneys though. # These work, but the info is already in the Hand class - should be used for tourneys though.
@ -343,11 +343,11 @@ class Fulltilt(HandHistoryConverter):
m = self.re_HeroCards.finditer(hand.streets[street]) m = self.re_HeroCards.finditer(hand.streets[street])
for found in m: for found in m:
player = found.group('PNAME') player = found.group('PNAME')
if found.group('NEWCARDS') == None: if found.group('NEWCARDS') is None:
newcards = [] newcards = []
else: else:
newcards = found.group('NEWCARDS').split(' ') newcards = found.group('NEWCARDS').split(' ')
if found.group('OLDCARDS') == None: if found.group('OLDCARDS') is None:
oldcards = [] oldcards = []
else: else:
oldcards = found.group('OLDCARDS').split(' ') oldcards = found.group('OLDCARDS').split(' ')
@ -416,7 +416,8 @@ class Fulltilt(HandHistoryConverter):
def readOther(self, hand): def readOther(self, hand):
m = self.re_Mixed.search(self.in_path) m = self.re_Mixed.search(self.in_path)
if m == None: hand.mixed = None if m is None:
hand.mixed = None
else: else:
hand.mixed = self.mixes[m.groupdict()['MIXED']] hand.mixed = self.mixes[m.groupdict()['MIXED']]
@ -472,8 +473,10 @@ class Fulltilt(HandHistoryConverter):
(info['base'], info['category']) = games[mg['GAME']] (info['base'], info['category']) = games[mg['GAME']]
if mg['CURRENCY'] is not None: if mg['CURRENCY'] is not None:
info['currency'] = currencies[mg['CURRENCY']] info['currency'] = currencies[mg['CURRENCY']]
if mg['TOURNO'] == None: info['type'] = "ring" if mg['TOURNO'] is None:
else: info['type'] = "tour" info['type'] = "ring"
else:
info['type'] = "tour"
# NB: SB, BB must be interpreted as blinds or bets depending on limit type. # NB: SB, BB must be interpreted as blinds or bets depending on limit type.
# Info is now ready to be copied in the tourney object # Info is now ready to be copied in the tourney object

View File

@ -41,8 +41,8 @@ class GuiAutoImport (threading.Thread):
imp = self.config.get_import_parameters() imp = self.config.get_import_parameters()
print "Import parameters" # print "Import parameters"
print imp # print imp
self.input_settings = {} self.input_settings = {}
self.pipe_to_hud = None self.pipe_to_hud = None
@ -130,7 +130,8 @@ class GuiAutoImport (threading.Thread):
data[1].set_text(dia_chooser.get_filename()) data[1].set_text(dia_chooser.get_filename())
self.input_settings[data[0]][0] = dia_chooser.get_filename() self.input_settings[data[0]][0] = dia_chooser.get_filename()
elif response == gtk.RESPONSE_CANCEL: elif response == gtk.RESPONSE_CANCEL:
print 'Closed, no files selected' #print 'Closed, no files selected'
pass
dia_chooser.destroy() dia_chooser.destroy()
#end def GuiAutoImport.browseClicked #end def GuiAutoImport.browseClicked
@ -184,22 +185,24 @@ class GuiAutoImport (threading.Thread):
command = os.path.join(sys.path[0], 'HUD_main.py') command = os.path.join(sys.path[0], 'HUD_main.py')
command = [command, ] + string.split(self.settings['cl_options']) command = [command, ] + string.split(self.settings['cl_options'])
bs = 1 bs = 1
try: try:
self.pipe_to_hud = subprocess.Popen(command, bufsize = bs, stdin = subprocess.PIPE, self.pipe_to_hud = subprocess.Popen(command, bufsize=bs,
universal_newlines = True) stdin=subprocess.PIPE,
universal_newlines=True)
except: except:
err = traceback.extract_tb(sys.exc_info()[2])[-1] err = traceback.extract_tb(sys.exc_info()[2])[-1]
print "*** Error: " + err[2] + "(" + str(err[1]) + "): " + str(sys.exc_info()[1]) print "*** GuiAutoImport Error opening pipe: " + err[2] + "(" + str(err[1]) + "): " + str(sys.exc_info()[1])
else: else:
for site in self.input_settings: for site in self.input_settings:
self.importer.addImportDirectory(self.input_settings[site][0], True, site, self.input_settings[site][1]) self.importer.addImportDirectory(self.input_settings[site][0], True, site, self.input_settings[site][1])
print " * Add", site, " import directory", str(self.input_settings[site][0])
print "+Import directory - Site: " + site + " dir: " + str(self.input_settings[site][0]) print "+Import directory - Site: " + site + " dir: " + str(self.input_settings[site][0])
self.do_import() self.do_import()
interval = int(self.intervalEntry.get_text()) interval = int(self.intervalEntry.get_text())
if self.importtimer != 0: if self.importtimer != 0:
gobject.source_remove(self.importtimer) gobject.source_remove(self.importtimer)
self.importtimer = gobject.timeout_add(interval*1000, self.do_import) self.importtimer = gobject.timeout_add(interval * 1000, self.do_import)
else: else:
print "auto-import aborted - global lock not available" print "auto-import aborted - global lock not available"
@ -209,7 +212,7 @@ class GuiAutoImport (threading.Thread):
self.doAutoImportBool = False # do_import will return this and stop the gobject callback timer self.doAutoImportBool = False # do_import will return this and stop the gobject callback timer
print "Stopping autoimport - global lock released." print "Stopping autoimport - global lock released."
if self.pipe_to_hud.poll() is not None: if self.pipe_to_hud.poll() is not None:
print "HUD already terminated" print " * Stop Autoimport: HUD already terminated"
else: else:
#print >>self.pipe_to_hud.stdin, "\n" #print >>self.pipe_to_hud.stdin, "\n"
self.pipe_to_hud.communicate('\n') # waits for process to terminate self.pipe_to_hud.communicate('\n') # waits for process to terminate

View File

@ -118,7 +118,7 @@ class GuiBulkImport():
self.progressbar.set_fraction(0) self.progressbar.set_fraction(0)
except: except:
err = traceback.extract_tb(sys.exc_info()[2])[-1] err = traceback.extract_tb(sys.exc_info()[2])[-1]
print "***Error: "+err[2]+"("+str(err[1])+"): "+str(sys.exc_info()[1]) print "*** BulkImport Error: "+err[2]+"("+str(err[1])+"): "+str(sys.exc_info()[1])
self.settings['global_lock'].release() self.settings['global_lock'].release()
else: else:
print "bulk-import aborted - global lock not available" print "bulk-import aborted - global lock not available"

View File

@ -310,7 +310,7 @@ class GuiSessionViewer (threading.Thread):
except: except:
pass pass
if self.fig != None: if self.fig is not None:
self.fig.clear() self.fig.clear()
self.fig = Figure(figsize=(5,4), dpi=100) self.fig = Figure(figsize=(5,4), dpi=100)
if self.canvas is not None: if self.canvas is not None:

View File

@ -270,11 +270,11 @@ class HUD_main(object):
tablewindow = Tables.discover_tournament_table(self.config, tour_number, tab_number) tablewindow = Tables.discover_tournament_table(self.config, tour_number, tab_number)
else: else:
tablewindow = Tables.discover_table_by_name(self.config, table_name) tablewindow = Tables.discover_table_by_name(self.config, table_name)
if tablewindow == None: if tablewindow is None:
# If no client window is found on the screen, complain and continue # If no client window is found on the screen, complain and continue
if type == "tour": if type == "tour":
table_name = "%s %s" % (tour_number, tab_number) table_name = "%s %s" % (tour_number, tab_number)
sys.stderr.write("table name "+table_name+" not found, skipping.\n") sys.stderr.write("HUD create: table name "+table_name+" not found, skipping.\n")
else: else:
self.create_HUD(new_hand_id, tablewindow, temp_key, max, poker_game, type, stat_dict, cards) self.create_HUD(new_hand_id, tablewindow, temp_key, max, poker_game, type, stat_dict, cards)
self.db_connection.connection.rollback() self.db_connection.connection.rollback()

View File

@ -550,12 +550,12 @@ Map the tuple self.gametype onto the pokerstars string describing it
"""Return the first HH line for the current hand.""" """Return the first HH line for the current hand."""
gs = "PokerStars Game #%s: " % self.handid gs = "PokerStars Game #%s: " % self.handid
if self.tourNo != None and self.mixed != None: # mixed tournament if self.tourNo is not None and self.mixed is not None: # mixed tournament
gs = gs + "Tournament #%s, %s %s (%s) - Level %s (%s) - " % (self.tourNo, self.buyin, self.MS[self.mixed], self.getGameTypeAsString(), self.level, self.getStakesAsString()) gs = gs + "Tournament #%s, %s %s (%s) - Level %s (%s) - " % (self.tourNo, self.buyin, self.MS[self.mixed], self.getGameTypeAsString(), self.level, self.getStakesAsString())
elif self.tourNo != None: # all other tournaments elif self.tourNo is not None: # all other tournaments
gs = gs + "Tournament #%s, %s %s - Level %s (%s) - " % (self.tourNo, gs = gs + "Tournament #%s, %s %s - Level %s (%s) - " % (self.tourNo,
self.buyin, self.getGameTypeAsString(), self.level, self.getStakesAsString()) self.buyin, self.getGameTypeAsString(), self.level, self.getStakesAsString())
elif self.mixed != None: # all other mixed games elif self.mixed is not None: # all other mixed games
gs = gs + " %s (%s, %s) - " % (self.MS[self.mixed], gs = gs + " %s (%s, %s) - " % (self.MS[self.mixed],
self.getGameTypeAsString(), self.getStakesAsString()) self.getGameTypeAsString(), self.getStakesAsString())
else: # non-mixed cash games else: # non-mixed cash games
@ -628,7 +628,7 @@ class HoldemOmahaHand(Hand):
hhc.readShownCards(self) hhc.readShownCards(self)
self.totalPot() # finalise it (total the pot) self.totalPot() # finalise it (total the pot)
hhc.getRake(self) hhc.getRake(self)
if self.maxseats == None: if self.maxseats is None:
self.maxseats = hhc.guessMaxSeats(self) self.maxseats = hhc.guessMaxSeats(self)
hhc.readOther(self) hhc.readOther(self)
elif builtFrom == "DB": elif builtFrom == "DB":
@ -897,7 +897,7 @@ class DrawHand(Hand):
hhc.readShownCards(self) hhc.readShownCards(self)
self.totalPot() # finalise it (total the pot) self.totalPot() # finalise it (total the pot)
hhc.getRake(self) hhc.getRake(self)
if self.maxseats == None: if self.maxseats is None:
self.maxseats = hhc.guessMaxSeats(self) self.maxseats = hhc.guessMaxSeats(self)
hhc.readOther(self) hhc.readOther(self)
elif builtFrom == "DB": elif builtFrom == "DB":
@ -1073,7 +1073,7 @@ class StudHand(Hand):
hhc.readShownCards(self) # not done yet hhc.readShownCards(self) # not done yet
self.totalPot() # finalise it (total the pot) self.totalPot() # finalise it (total the pot)
hhc.getRake(self) hhc.getRake(self)
if self.maxseats == None: if self.maxseats is None:
self.maxseats = hhc.guessMaxSeats(self) self.maxseats = hhc.guessMaxSeats(self)
hhc.readOther(self) hhc.readOther(self)
elif builtFrom == "DB": elif builtFrom == "DB":

View File

@ -256,7 +256,7 @@ which it expects to find at self.re_TailSplitHands -- see for e.g. Everleaf.py.
self.readFile() self.readFile()
self.obs = self.obs.strip() self.obs = self.obs.strip()
self.obs = self.obs.replace('\r\n', '\n') self.obs = self.obs.replace('\r\n', '\n')
if self.obs == "" or self.obs == None: if self.obs is None or self.obs == "":
log.info("Read no hands.") log.info("Read no hands.")
return [] return []
return re.split(self.re_SplitHands, self.obs) return re.split(self.re_SplitHands, self.obs)

View File

@ -61,7 +61,7 @@ class Hud:
def __init__(self, parent, table, max, poker_game, config, db_connection): def __init__(self, parent, table, max, poker_game, config, db_connection):
# __init__ is (now) intended to be called from the stdin thread, so it # __init__ is (now) intended to be called from the stdin thread, so it
# cannot touch the gui # cannot touch the gui
if parent == None: # running from cli .. if parent is None: # running from cli ..
self.parent = self self.parent = self
self.parent = parent self.parent = parent
self.table = table self.table = table
@ -87,11 +87,6 @@ class Hud:
self.backgroundcolor = gtk.gdk.color_parse(self.colors['hudbgcolor']) self.backgroundcolor = gtk.gdk.color_parse(self.colors['hudbgcolor'])
self.foregroundcolor = gtk.gdk.color_parse(self.colors['hudfgcolor']) self.foregroundcolor = gtk.gdk.color_parse(self.colors['hudfgcolor'])
if font == None:
font = "Sans"
if font_size == None:
font_size = "8"
self.font = pango.FontDescription("%s %s" % (font, font_size)) self.font = pango.FontDescription("%s %s" % (font, font_size))
# do we need to add some sort of condition here for dealing with a request for a font that doesn't exist? # do we need to add some sort of condition here for dealing with a request for a font that doesn't exist?
@ -136,7 +131,7 @@ class Hud:
killitem = gtk.MenuItem('Kill This HUD') killitem = gtk.MenuItem('Kill This HUD')
menu.append(killitem) menu.append(killitem)
if self.parent != None: if self.parent is not None:
killitem.connect("activate", self.parent.kill_hud, self.table_name) killitem.connect("activate", self.parent.kill_hud, self.table_name)
saveitem = gtk.MenuItem('Save HUD Layout') saveitem = gtk.MenuItem('Save HUD Layout')

View File

@ -479,7 +479,7 @@ class Flop_Mucked(Aux_Seats):
if i != "common": if i != "common":
id = self.get_id_from_seat(i) id = self.get_id_from_seat(i)
# sc: had KeyError here with new table so added id != None test as a guess: # sc: had KeyError here with new table so added id != None test as a guess:
if id != None: if id is not None:
self.m_windows[i].eb.set_tooltip_text(self.hud.stat_dict[id]['screen_name']) self.m_windows[i].eb.set_tooltip_text(self.hud.stat_dict[id]['screen_name'])
def update_gui(self, new_hand_id): def update_gui(self, new_hand_id):

View File

@ -164,7 +164,7 @@ class PokerStars(HandHistoryConverter):
if 'CURRENCY' in mg: if 'CURRENCY' in mg:
info['currency'] = currencies[mg['CURRENCY']] info['currency'] = currencies[mg['CURRENCY']]
if 'TOURNO' in mg and mg['TOURNO'] == None: if 'TOURNO' in mg and mg['TOURNO'] is None:
info['type'] = 'ring' info['type'] = 'ring'
else: else:
info['type'] = 'tour' info['type'] = 'tour'
@ -172,7 +172,6 @@ class PokerStars(HandHistoryConverter):
# NB: SB, BB must be interpreted as blinds or bets depending on limit type. # NB: SB, BB must be interpreted as blinds or bets depending on limit type.
return info return info
def readHandInfo(self, hand): def readHandInfo(self, hand):
info = {} info = {}
m = self.re_HandInfo.search(hand.handText,re.DOTALL) m = self.re_HandInfo.search(hand.handText,re.DOTALL)
@ -182,7 +181,8 @@ class PokerStars(HandHistoryConverter):
else: else:
pass # throw an exception here, eh? pass # throw an exception here, eh?
m = self.re_GameInfo.search(hand.handText) m = self.re_GameInfo.search(hand.handText)
if m: info.update(m.groupdict()) if m:
info.update(m.groupdict())
# m = self.re_Button.search(hand.handText) # m = self.re_Button.search(hand.handText)
# if m: info.update(m.groupdict()) # if m: info.update(m.groupdict())
# TODO : I rather like the idea of just having this dict as hand.info # TODO : I rather like the idea of just having this dict as hand.info
@ -205,8 +205,7 @@ class PokerStars(HandHistoryConverter):
hand.maxseats = int(info[key]) hand.maxseats = int(info[key])
if key == 'MIXED': if key == 'MIXED':
if info[key] == None: hand.mixed = None hand.mixed = self.mixes[info[key]] if info[key] is not None else None
else: hand.mixed = self.mixes[info[key]]
if key == 'TOURNO': if key == 'TOURNO':
hand.tourNo = info[key] hand.tourNo = info[key]
@ -214,7 +213,7 @@ class PokerStars(HandHistoryConverter):
hand.buyin = info[key] hand.buyin = info[key]
if key == 'LEVEL': if key == 'LEVEL':
hand.level = info[key] hand.level = info[key]
if key == 'PLAY' and info['PLAY'] != None: if key == 'PLAY' and info['PLAY'] is not None:
# hand.currency = 'play' # overrides previously set value # hand.currency = 'play' # overrides previously set value
hand.gametype['currency'] = 'play' hand.gametype['currency'] = 'play'
@ -304,11 +303,11 @@ class PokerStars(HandHistoryConverter):
m = self.re_HeroCards.finditer(hand.streets[street]) m = self.re_HeroCards.finditer(hand.streets[street])
for found in m: for found in m:
player = found.group('PNAME') player = found.group('PNAME')
if found.group('NEWCARDS') == None: if found.group('NEWCARDS') is None:
newcards = [] newcards = []
else: else:
newcards = found.group('NEWCARDS').split(' ') newcards = found.group('NEWCARDS').split(' ')
if found.group('OLDCARDS') == None: if found.group('OLDCARDS') is None:
oldcards = [] oldcards = []
else: else:
oldcards = found.group('OLDCARDS').split(' ') oldcards = found.group('OLDCARDS').split(' ')

View File

@ -68,14 +68,14 @@ def do_tip(widget, tip):
def do_stat(stat_dict, player = 24, stat = 'vpip'): def do_stat(stat_dict, player = 24, stat = 'vpip'):
match = re_Places.search(stat) match = re_Places.search(stat)
if match == None: if match is None:
result = eval("%(stat)s(stat_dict, %(player)d)" % {'stat': stat, 'player': player}) result = eval("%(stat)s(stat_dict, %(player)d)" % {'stat': stat, 'player': player})
else: else:
base = stat[0:-2] base = stat[0:-2]
places = int(stat[-1:]) places = int(stat[-1:])
result = eval("%(stat)s(stat_dict, %(player)d)" % {'stat': base, 'player': player}) result = eval("%(stat)s(stat_dict, %(player)d)" % {'stat': base, 'player': player})
match = re_Percent.search(result[1]) match = re_Percent.search(result[1])
if match == None: if match is None:
result = (result[0], "%.*f" % (places, result[0]), result[2], result[3], result[4], result[5]) result = (result[0], "%.*f" % (places, result[0]), result[2], result[3], result[4], result[5])
else: else:
result = (result[0], "%.*f%%" % (places, 100*result[0]), result[2], result[3], result[4], result[5]) result = (result[0], "%.*f%%" % (places, 100*result[0]), result[2], result[3], result[4], result[5])

View File

@ -95,12 +95,12 @@ gobject.signal_new("client_destroyed", gtk.Window,
class Table_Window(object): class Table_Window(object):
def __init__(self, table_name = None, tournament = None, table_number = None): def __init__(self, table_name = None, tournament = None, table_number = None):
if table_name != None: if table_name is not None:
search_string = table_name search_string = table_name
self.name = table_name self.name = table_name
self.tournament = None self.tournament = None
self.table = None self.table = None
elif tournament != None and table_number != None: elif tournament is not None and table_number is not None:
print "tournament %s, table %s" % (tournament, table_number) print "tournament %s, table %s" % (tournament, table_number)
self.tournament = int(tournament) self.tournament = int(tournament)
self.table = int(table_number) self.table = int(table_number)
@ -133,7 +133,7 @@ class Table_Window(object):
def check_geometry(self): def check_geometry(self):
new_geo = self.get_geometry() new_geo = self.get_geometry()
if new_geo == None: # window destroyed if new_geo is None: # window destroyed
return "client_destroyed" return "client_destroyed"
elif self.x != new_geo['x'] or self.y != new_geo['y']: # window moved elif self.x != new_geo['x'] or self.y != new_geo['y']: # window moved

View File

@ -105,7 +105,7 @@ def discover_table_by_name(c, tablename):
info = discover_mac_by_name(c, tablename) info = discover_mac_by_name(c, tablename)
else: else:
return None return None
if info == None: if info is None:
return None return None
return Table_Window(info) return Table_Window(info)
@ -141,7 +141,7 @@ def discover_posix(c):
if 'History for table:' in listing: continue if 'History for table:' in listing: continue
if 'has no name' in listing: continue if 'has no name' in listing: continue
info = decode_xwininfo(c, listing) info = decode_xwininfo(c, listing)
if info['site'] == None: continue if info['site'] is None: continue
if info['title'] == info['exe']: continue if info['title'] == info['exe']: continue
# this appears to be a poker client, so make a table object for it # this appears to be a poker client, so make a table object for it
tw = Table_Window(info) tw = Table_Window(info)

View File

@ -289,7 +289,7 @@ class ttracker_main(object):
tablewindow = Tables.discover_tournament_table(self.config, tour_number, tab_number) tablewindow = Tables.discover_tournament_table(self.config, tour_number, tab_number)
else: else:
tablewindow = Tables.discover_table_by_name(self.config, table_name) tablewindow = Tables.discover_table_by_name(self.config, table_name)
if tablewindow == None: if tablewindow is None:
# If no client window is found on the screen, complain and continue # If no client window is found on the screen, complain and continue
if type == "tour": if type == "tour":
table_name = "%s %s" % (tour_number, tab_number) table_name = "%s %s" % (tour_number, tab_number)

View File

@ -447,7 +447,7 @@ class fpdb:
self.settings.update(self.config.get_import_parameters()) self.settings.update(self.config.get_import_parameters())
self.settings.update(self.config.get_default_paths()) self.settings.update(self.config.get_default_paths())
if self.db != None and self.db.fdb != None: if self.db is not None and self.db.fdb is not None:
self.db.disconnect() self.db.disconnect()
self.sql = SQL.Sql(type = self.settings['db-type'], db_server = self.settings['db-server']) self.sql = SQL.Sql(type = self.settings['db-type'], db_server = self.settings['db-server'])
@ -487,7 +487,7 @@ class fpdb:
response = diaDbVersionWarning.run() response = diaDbVersionWarning.run()
diaDbVersionWarning.destroy() diaDbVersionWarning.destroy()
if self.status_bar == None: if self.status_bar is None:
self.status_bar = gtk.Label("Status: Connected to %s database named %s on host %s"%(self.db.get_backend_name(),self.db.database, self.db.host)) self.status_bar = gtk.Label("Status: Connected to %s database named %s on host %s"%(self.db.get_backend_name(),self.db.database, self.db.host))
self.main_vbox.pack_end(self.status_bar, False, True, 0) self.main_vbox.pack_end(self.status_bar, False, True, 0)
self.status_bar.show() self.status_bar.show()

View File

@ -400,7 +400,7 @@ class Importer:
file = file.decode(fpdb_simple.LOCALE_ENCODING) file = file.decode(fpdb_simple.LOCALE_ENCODING)
# Load filter, process file, pass returned filename to import_fpdb_file # Load filter, process file, pass returned filename to import_fpdb_file
if self.settings['threads'] > 0 and self.writeq != None: if self.settings['threads'] > 0 and self.writeq is not None:
log.info("Converting " + file + " (" + str(q.qsize()) + ")") log.info("Converting " + file + " (" + str(q.qsize()) + ")")
else: else:
log.info("Converting " + file) log.info("Converting " + file)
@ -475,7 +475,7 @@ class Importer:
db.commit() db.commit()
ttime = time() - starttime ttime = time() - starttime
if q == None: if q is None:
log.info("Total stored: %(stored)d\tduplicates:%(duplicates)d\terrors:%(errors)d\ttime:%(ttime)s" % locals()) log.info("Total stored: %(stored)d\tduplicates:%(duplicates)d\terrors:%(errors)d\ttime:%(ttime)s" % locals())
if not stored: if not stored:

View File

@ -30,7 +30,7 @@ def mainParser(settings, siteID, category, hand, config, db = None, writeq = Non
backend = settings['db-backend'] backend = settings['db-backend']
# Ideally db connection is passed in, if not use sql list if passed in, # Ideally db connection is passed in, if not use sql list if passed in,
# otherwise start from scratch # otherwise start from scratch
if db == None: if db is None:
db = Database.Database(c = config, sql = None) db = Database.Database(c = config, sql = None)
category = fpdb_simple.recogniseCategory(hand[0]) category = fpdb_simple.recogniseCategory(hand[0])
@ -222,7 +222,7 @@ def mainParser(settings, siteID, category, hand, config, db = None, writeq = Non
, actionNos, hudImportData, maxSeats, tableName, seatNos) , actionNos, hudImportData, maxSeats, tableName, seatNos)
# save hand in db via direct call or via q if in a thread # save hand in db via direct call or via q if in a thread
if writeq == None: if writeq is None:
result = db.store_the_hand(htw) result = db.store_the_hand(htw)
else: else:
writeq.put(htw) writeq.put(htw)