From a4a4eaa87bb4e95604419e7ed4ca633e65f1a9c4 Mon Sep 17 00:00:00 2001 From: sqlcoder Date: Mon, 15 Mar 2010 21:48:25 +0000 Subject: [PATCH 01/18] add general section to configuration. currently includes default bulk import path and start of day offset --- pyfpdb/Configuration.py | 26 ++++++++++++++++++++++++++ pyfpdb/Filters.py | 19 ++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/pyfpdb/Configuration.py b/pyfpdb/Configuration.py index d0f81a1b..47a7786a 100755 --- a/pyfpdb/Configuration.py +++ b/pyfpdb/Configuration.py @@ -452,6 +452,24 @@ class Tv: return (" combinedStealFold = %s\n combined2B3B = %s\n combinedPostflop = %s\n" % (self.combinedStealFold, self.combined2B3B, self.combinedPostflop) ) +class General(dict): + def __init__(self): + super(General, self).__init__() + + def add_elements(self, node): + # HH_bulk_path - if set, used as default path for bulk imports: + # day_start - number n where 0.0 <= n < 24.0 representing start of day for user + # e.g. user could set to 4.0 for day to start at 4am local time + for (name, value) in node.attributes.items(): + log.debug("config.general: adding %s = %s" % (name,value)) + self[name] = value + + def __str__(self): + s = "" + for k in self: + s = s + " %s = %s\n" % (k, self[k]) + return(s) + class Config: def __init__(self, file = None, dbname = ''): # "file" is a path to an xml file with the fpdb/HUD configuration @@ -506,7 +524,10 @@ class Config: self.popup_windows = {} self.db_selected = None # database the user would like to use self.tv = None + self.general = General() + for gen_node in doc.getElementsByTagName("general"): + self.general.add_elements(node=gen_node) # add/overwrite elements in self.general # s_sites = doc.getElementsByTagName("supported_sites") for site_node in doc.getElementsByTagName("site"): @@ -839,6 +860,8 @@ class Config: path = os.path.expanduser(self.supported_sites[site].HH_path) assert(os.path.isdir(path) or os.path.isfile(path)) # maybe it should try another site? paths['hud-defaultPath'] = paths['bulkImport-defaultPath'] = path + if 'HH_bulk_path' in self.general and self.general['HH_bulk_path']: + paths['bulkImport-defaultPath'] = self.general['HH_bulk_path'] except AssertionError: paths['hud-defaultPath'] = paths['bulkImport-defaultPath'] = "** ERROR DEFAULT PATH IN CONFIG DOES NOT EXIST **" return paths @@ -987,6 +1010,9 @@ class Config: """Join the fpdb path to filename.""" return os.path.join(os.path.dirname(inspect.getfile(sys._getframe(0))), filename) + def get_general_params(self): + return( self.general ) + if __name__== "__main__": c = Config() diff --git a/pyfpdb/Filters.py b/pyfpdb/Filters.py index c8e8e219..4603e6e4 100644 --- a/pyfpdb/Filters.py +++ b/pyfpdb/Filters.py @@ -58,6 +58,11 @@ class Filters(threading.Thread): ,'limitsFL':'FL', 'limitsNL':'NL', 'limitsPL':'PL', 'ring':'Ring', 'tour':'Tourney' } + gen = self.conf.get_general_params() + self.day_start = 0 + if 'day_start' in gen: + self.day_start = float(gen['day_start']) + # Outer Packing box self.mainVBox = gtk.VBox(False, 0) @@ -864,6 +869,9 @@ class Filters(threading.Thread): self.end_date.set_text('') def __get_dates(self): + # self.day_start gives user's start of day in hours + offset = int(self.day_start * 3600) # calc day_start in seconds + t1 = self.start_date.get_text() t2 = self.end_date.get_text() @@ -872,10 +880,19 @@ class Filters(threading.Thread): if t2 == '': t2 = '2020-12-12' + s1 = strptime(t1, "%Y-%m-%d") # make time_struct + s2 = strptime(t2, "%Y-%m-%d") + e1 = mktime(s1) + offset # s1 is localtime, but returned time since epoch is UTC, then add the + e2 = mktime(s2) + offset # s2 is localtime, but returned time since epoch is UTC + + adj_t1 = strftime("%Y-%m-%d %H:%M:%S", gmtime(e1)) # make adjusted string including time + adj_t1 = strftime("%Y-%m-%d %H:%M:%S", gmtime(e1)) + log.info("t1="+t1+" adj_t1="+adj_t1+'.') + return (t1, t2) def __get_date(self, widget, calendar, entry, win): -# year and day are correct, month is 0..11 + # year and day are correct, month is 0..11 (year, month, day) = calendar.get_date() month += 1 ds = '%04d-%02d-%02d' % (year, month, day) From ef36e260e5e207086e8c6ad49b538ee742907aa6 Mon Sep 17 00:00:00 2001 From: sqlcoder Date: Mon, 15 Mar 2010 21:51:39 +0000 Subject: [PATCH 02/18] prepare for change to store time in UTC --- pyfpdb/PokerStarsToFpdb.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pyfpdb/PokerStarsToFpdb.py b/pyfpdb/PokerStarsToFpdb.py index 87574e9d..1771f925 100755 --- a/pyfpdb/PokerStarsToFpdb.py +++ b/pyfpdb/PokerStarsToFpdb.py @@ -82,6 +82,7 @@ class PokerStars(HandHistoryConverter): # self.re_setHandInfoRegex('.*#(?P[0-9]+): Table (?P[ a-zA-Z]+) - \$?(?P[.0-9]+)/\$?(?P[.0-9]+) - (?P.*) - (?P
[0-9]+):(?P[0-9]+) ET - (?P[0-9]+)/(?P[0-9]+)/(?P[0-9]+)Table (?P
[ a-zA-Z]+)\nSeat (?P
[ a-zA-Z]+) - \$?(?P[.0-9]+)/\$?(?P[.0-9]+) - (?P.*) - (?P
[0-9]+):(?P[0-9]+) ET - (?P[0-9]+)/(?P[0-9]+)/(?P[0-9]+)Table (?P
[ a-zA-Z]+)\nSeat (?P